目錄
前言
1、Linux操作系統是否允許多個用戶同時登錄到系統,使用系統資源?
回答:是的,Linux是一個多用戶多任務的操作系統
2、Windows系統下,是如何區分不同的用戶,如何規範用戶權限的?
回答:通過用戶賬戶來區分不同的用戶,並且將用戶帳戶添加到組中,通過規範組的權限來規範用戶的權限。
Linux操作系統是一個多用戶多任務的操作系統,允許多個用戶同時登錄到系統,使用系統資源。爲了使所有用戶的工作順利進行,保護每個用戶的文件和進程,規範每個用戶的權限,需要區分不同的用戶,就產生了用戶帳戶和組羣。
一、用戶和組羣文件
1、用戶和組羣概述
用戶帳戶是用戶的身份標識,用戶通過用戶帳戶可以登錄到系統,並且訪問已經被授權的資源。系統依據賬戶來區分屬於每個用戶的文件、進程、任務,並給每個用戶提供特定的工作環境,使每個用戶的工作都能各自獨立不受干擾地工作。
Linux系統下的用戶帳戶分爲兩種:
普通用戶帳戶
超級用戶帳戶(root):又稱爲根用戶或管理員賬戶,可以對普通用戶和整個系統進行管理。
組羣是具有相同特性的用戶的邏輯集合,使用組羣有利於系統管理員按照用戶的特性組織和管理用戶,提高工作效率。
在爲資源授權時可以把權限賦予某個組羣,組羣中的成員即可自動獲得這種權限。
一個用戶賬戶至少屬於一個用戶組,當是多個組羣的成員時,其中某個組羣是該用戶的主組羣(私有組羣),其他組羣是該用戶的附屬組羣(標準組羣)。
用戶名 |
用來標識用戶的名稱,可以是字母、數字組成的字符串,區分大小寫 |
密碼 |
用於驗證用戶身份的特殊驗證碼 |
用戶標識(UID) |
用來表示用戶的數字標識符 |
用戶主目錄 |
用戶的私人目錄,也是用戶登錄系統後默認所在的目錄 |
登錄Shell |
用戶登錄後默認使用的Shell程序,默認爲/bin/bash |
組羣 |
具有相同屬性的用戶屬於同一個組羣 |
組羣標識(GID) |
用來表示足羣的數字標識符 |
每一個用戶都有一個唯一的身份標識,稱爲用戶ID(UID);每一個用戶組也有一個唯一的身份標識,稱爲用戶組ID(GID)。
root用戶的UID爲0。
普通用戶的UID可以在創建時由管理員指定,如果不指定,用戶的UID默認從500開始順序編號。
2、用戶和組羣配置文件
用戶帳戶文件:
/etc/passwd文件:用戶帳戶信息
Vi /etc/passwd;每行用“:”分隔爲7個域
用戶名、加密口令、UID、GID、用戶描述信息、主目錄、命令解釋器
代表無登錄權限
/etc/shadow文件:用戶口令
所有用戶對passwd文件均可讀取,只有root用戶對shadow文件可讀,因此密碼存放在shadow文件中更安全
組羣文件:
/etc/group文件:組羣帳戶信息
用戶的組賬戶的信息存放在group文件中,任何用戶都可以讀取,用“:”分隔爲4個域。
組羣名稱、組羣口令(一般爲空)、GID、組羣成員列表
用戶的主組羣並不把該用戶作爲成員列出
/etc/gshadow文件:組羣口令、管理員等管理信息
gshadow文件用於存放組羣的加密口令、組管理員等信息,只有root用戶可讀,用“:”分隔成4個域
/etc/login.defs文件
建立用戶帳戶時根據/etc/login.defs文件的配置設置用戶帳戶的某些選項。
用戶郵箱目錄
用戶密碼最長有效天數、用戶密碼最短有效天數、用戶密碼的最小長度、用戶密碼過期前提前警告的天數
自動產生的最小UID、自動產生的最大UID
自動產生的最小GID、自動產生的最大GID
如果定義,則表示“刪除用戶時,同時刪除用戶的相關作業”
創建用戶賬戶時爲用戶創建目錄
二、用戶賬戶的創建和管理
1、新建用戶
useradd或者adduser命令
Useradd命令的格式是: useradd [選項] <username>
例如:創建ph用戶
若新建用戶已經存在
useradd命令的選項
-c comment 用戶的註釋性信息
-d home_dir 指定用戶的主目錄
-e expire_date 禁用帳號的日期,格式爲:YYYY-MM-DD
-f inactive_days 設置帳戶過期多少天后,用戶帳戶被禁用
-u UID 指定用戶的UID
-g initial_group 用戶所屬主組羣的組羣名稱或者GID
-G group-list 用戶所屬的附屬組羣列表
-m 若用戶主目錄不存在則創建它
-M 不要創建用戶主目錄
-n 不要爲用戶創建用戶私人組羣
-p passwd 加密的口令
-r 創建UID小於500的不帶主目錄的系統帳號
-s shell 指定用戶的登錄Shell,默認爲/bin/bash
新建用戶案例
題目:新建用戶user1,UID爲510,指定其所屬的私有組爲mlx(mlx組的標識符爲500),用戶的主目錄爲/home/user1,用戶的Shell爲/bin/bash,用戶的密碼爲123456,帳戶永不過期。
2、設置用戶口令
新建用戶後,要爲用戶設置口令,未設置口令的用戶不能登陸系統,如:
指定和修改用戶帳戶口令:passwd
修改用戶帳戶口令:chage
passwd命令
超級用戶可以爲自己和其他用戶設置口令,而普通用戶只能爲自己設置口令
格式:passwd [選項] 〈username〉
passwd命令的選項
-l 鎖定(停用)用戶帳
-u 口令解鎖
-d 將用戶口令設置爲空,這與未設置口令的帳戶不同。未設置口令的帳戶無法登錄系統,而口令爲空的帳戶可以。
-f 強迫用戶下次登錄時必須修改口令
-n 指定口令的最短存活期
-x 指定口令的最長存活期
-w 口令要到期前提前警告的天數
-I 口令過期後多少天停用帳戶
-S 顯示帳戶口令的簡短狀態信息
passwd命令案例
案例:假設當前用戶爲root,則下面的兩個命令分別爲:root用戶修改自己的口令和root用戶修改user1用戶的口令。
root用戶修改自己的口令
普通用戶修改口令時,passwd命令會首先詢問原來的口令,只有驗證通過纔可以修改。
如:
chage命令
格式:chage [選項] 〈username〉
選項:
-l 列出帳戶口令屬性的各個數值
-m 指定口令最短存活期
-M 指定口令最長存活期
-W 口令要到期前提前警告的天數
-I 口令過期後多少天停用帳戶
-E 用戶帳戶到期作廢的日期
-d 設置口令上一次修改的日期
chage命令案例
案例:設置user1用戶的最短口令存活期爲6天,最長口令存活期爲60天,口令到期前5天提醒用戶修改口令。
設置完成後查看各屬性值
3、用戶帳戶維護
修改用戶帳戶
命令:usermod
格式:usermod [選項] 〈username〉
例:修改用戶user1的主目錄爲/var/user1,把啓動Shell修改爲/bin/tcsh
查看修改後的結果
禁用和恢復用戶帳戶
禁用和恢復用戶帳戶的實現方法:
passwd命令
禁用user1帳戶
查看(被鎖定的用戶密碼欄前面會加上!)
恢復user1帳戶(解除鎖定)
usermod命令
禁用user1用戶帳戶
解除user1用戶鎖定
直接修改/etc/passwd或/etc/shadow文件
可將/etc/passwd文件或/etc/shadow文件中關於user1帳戶的passwd域的第一個字符前面加上一個“*”,達到禁用帳戶的目的,在需要恢復的時候只要刪除字符“*”即可。
如果只是禁止用戶帳戶登錄系統,可以將其啓動Shell設置爲/bin/false或者/dev/null。
刪除用戶帳戶
直接編輯/etc/passwd和/etc/shadow文件,刪除用戶所對應的行
用userdel命令刪除
格式:userdel [-r] <username>
案例:刪除用戶user1,保留用戶主目錄
三、組羣管理
1、維護組羣賬戶
創建組羣的命令:groupadd或addgroup
案例: 創建一個新的組羣,組羣名稱爲testgroup
修改組羣的命令: groupmod [選項] 〈groupname〉
修改組羣命令的參數:
-g gid 把組羣的GID改成gid
-n group-name 把組羣的名稱改爲name
-o 強制接受更改的組的GID爲重複的號碼
修改組羣 修改gid:
修改組羣名稱:
刪除組羣的命令:groupdel
例:刪除grouptest組羣
在Red Hat中使用不帶任何參數的useradd命令創建用戶時,會同時創建一個和用戶帳戶同名的組羣,稱爲主組羣。
當一個組羣中必須包含多個用戶時則需要使用附屬組羣。
在附屬組中增加、刪除用戶都用gpasswd命令,該命令只有root用戶和組管理員才能夠使用。
2、爲組羣添加用戶
gpasswd命令
gpasswd命令的格式 : gpasswd [選項] [用戶] [組]
gpasswd命令的選項:
-a 把用戶加入組
-d 把用戶從組中刪除
-r 取消組的密碼
-A 給組指派管理員
爲組羣添加用戶- 案例
案例:新建組羣testgroup,把ph用戶加入testgroup組,並指派ph爲管理員 。
四、使用用戶管理器管理用戶和組羣
用戶管理器
新建用戶
修改用戶屬性
組羣管理
五、常用的賬戶管理命令
vipw
命令格式:[root@RHEL4 ~]# vipw
功能:用於直接對用戶帳戶文件/etc/passwd進行編輯,使用的默認編輯器是vi。
特點:在功能上等同於“vi /etc/passwd”命令,但比vi更安全,因爲在對/etc/passwd文件進行編輯時將自動鎖定該文件,編輯結束後對該文件進行解鎖,保證了文件的一致性。
vigr
命令格式:[root@RHEL4 ~]# vigr
功能:用於直接對組羣文件/etc/group進行編輯,使用的默認編輯器是vi。
特點:在功能上等同於“vi /etc/group”命令,但比vi更安全,因爲在對/etc/group文件進行編輯時將自動鎖定該文件,編輯結束後對該文件進行解鎖,保證了文件的一致性。
pwck
命令格式:[root@RHEL4 ~]#pwck
功能:用於驗證用戶帳戶文件認證信息的完整性,檢測/etc/passwd文件和/etc/shadow文件的每行中字段的格式和值是否正確。
grpck
命令格式: [root@RHEL4 ~]#grpck
功能:用於驗證組羣文件認證信息的完整性,檢測/etc/group文件和/etc/gshadow文件的每行中字段的格式和值是否正確。
id
命令格式:id [選項] 〈username〉
功能:查看用戶UID和GID以及用戶所屬的組列表
選項:
-g:只顯示用戶的組的GID
-G:只顯示用戶的附屬組的GID
-u:只顯示UID
id案例
案例:查看當前用戶的UID、GID信息及用戶所屬組列表
案例:查看ph用戶的UID、GID信息及所屬組
finger
命令格式:finger [選項] 〈username〉
功能:查看用戶的相關信息,包括用戶的主目錄、啓動Shell、用戶名、地址、電話等存放在/etc/passwd文件中的記錄信息
選項:
-l 以長格形式顯示,是默認選項
-s 以短格形式顯示
finger案例
案例:查看當前用戶的信息
案例:查看用戶ph的信息
chfn案例
功能:修改用戶的辦公地址、辦公電話和住宅電話等
案例:
chsh案例
功能:修改用戶的啓動Shell
實例:
whoami案例
功能:顯示當前用戶的名稱
實例:
su案例
功能:轉換當前用戶到指定的用戶帳戶
實例:
su命令不指定用戶名時將從當前用戶轉換爲root用戶,但需要輸入root用戶的口令。
newgrp案例
功能:轉換用戶的當前組到指定的主組羣
實例:
總結
1.新建用戶賬戶並設置賬戶密碼
2.鎖定用戶,解除鎖定
3.新建組羣並設置組羣口令
4.爲用戶和組羣改名,修改用戶口令
5.爲組羣添加用戶
6.刪除用戶口令和組羣