本節介紹Linux用戶和組相關的配置文件,用戶賬號管理、查詢用戶信息以及切換用戶的相關命令,將會讓我們更了解各配置文件中各個字段的含義,以及各相關命令的使用方法,方便Linux運維人員管理Linux系統中的用戶和組。
背景:
Linux是個多用戶、多任務的系統,考慮到每個人的隱私權、每個人喜好的工作環境以及每個用戶所使用的權限等方面的不同,所以設定了“用戶”來管理各自用戶的權限。
一、用戶和用戶組相關的配置文件管理
-
/etc/passwd:用戶的賬號信息
-
/etc/group:組的賬號信息
-
/etc/shadow:用戶密碼和相關的賬號設定
-
/etc/gshadow:組的密碼信息
(1)/etc/passwd文件
文件中共包含了7個字段,分別使用 : 隔開。下面介紹各個字段所代表的含義
account : password : UID : GID : GECOS : directory : shell
登陸名 : 密碼符 : 用戶ID : 組ID : 注釋信息 : 家目錄 : 用戶默認shell
備注:用戶可以加入不止一個組:基本組一個,附加組(也稱額外組)可包含多個。
(2)/etc/group
文件中共包含了4個字段,分別使用 : 隔開。下面介紹各個字段所代表的含義
group_name : passwd : GID : user_list
組名 : 密碼符 : GID : 以都好分割屬于此組(以之作為額外組)的用戶列表
(3)/etc/shadow
文件中共包含了7個字段,分別使用 : 隔開。下面介紹各個字段所代表的含義
用戶名 : 加密的密碼 : 最近一次修改密碼的時間 : 密碼最短使用期限 : 密碼最長使用期限 : 密碼過期警告區間 : 密碼非活動期限 : 賬號過期期限 : 保留區域
(4)/etc/gshaow
文件中共包含了4個字段,分別使用 : 隔開。下面介紹各個字段所代表的含義
group_name : password : administrator : members
組名 : 密碼符 : 用戶組的管理員 : 組的成員
二、用戶賬號管理相關命令(這里僅列出去常用命令和參數,詳細請查man)
-
useradd :新增用戶
-
groupadd :新增組
-
passwd :修改用戶密碼
-
gpasswd :修改組密碼
-
userdel :刪除用戶
-
groupdel :刪除組
-
usermod :修改用戶賬號
-
groupmod :修改組賬號
-
chsh :修改用戶的shell
-
chfn :修改注釋信息
-
chage :修改密碼時效
(1)useradd
-u UID :指定UID
-g GID :指定所屬的基本組
-G GID : 指定所屬的附加組
-c 'COMMENT' :注釋信息
-d /path/to/somewhere :指定家目錄,如果此目錄事先存在,會有警告信息
備注:在家目錄中其實會有一些文件
例如:ls -a /home/user1 ————> . .. .bash_logout .bash_profile .bashrc
這些文件是從系統/etc/skel 下拷貝過來的
-s SHELL :指定SHELL,SHELL必須是在/etc/shells文件中存在的shell
備注 /etc/shells是系統中支持的shell
其中/sbin/nologin 表示不給用戶登錄
-m :強制給用戶創建家目錄
-M :不給用戶創建家目錄
-r :創建系統用戶
(2)groupadd
-g GID:指定GID
-r :系統組
(3)passwd
普通用戶僅能修改自己的密碼
管理員 能修改全部用戶的密碼
passwd [username]
–stdin : 不需要交互式輸入密碼
-l :鎖定用戶
-u :解鎖用戶
(4)gpasswd
gpasswd[-a user][-d user][-A user,…][-M user,…][-r][-R]groupname
-a:添加用戶到組
-d:從組刪除用戶
-A:指定管理員
-M:指定組成員和-A的用途差不多
-r:刪除密碼
-R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組
備注:給組賬號設置完密碼以后,用戶登陸系統,使用newgrp命令,輸入給組賬號設置的密碼,就可以臨時添加到指定組,可以管理組用戶,具有組權限。格式:newgrp 【組名】
(5)userdel
userdel [options] USERNAME
-r: 一并刪除用戶及家目錄
(6)groupdel
groupdel GRPNAME
(7)usermod
usermod [options] USERNAME
-u UID : 修改UID
-g GID :修改用戶的基本組
-G GID,….:修改用戶附加組;此選項通常跟-a一起使用,以最佳方式修改附加組,表示不覆蓋原有的附加組
例子:usermod -a -G mygrp,testgrp user6
-c COMMENT:指定注釋信息
-d /path/to/somewhere :修改家目錄的位置;同時使用-m選項可保證創建家目錄,并將用戶原有的文件移動至新的家目錄中
-s SHELL:修改SHELL
-l LOGIN_NAME:修改用戶名
-L :鎖定用戶
-U :解鎖用戶
(8)groupmod
-g GID
-n NEW_GRP_NAME
(9)chsh
chsh USERNAME
(10)chfn
chfn USERNAME
(11)chage
chage[options] USERNAME
實例截圖:
(1)useradd
(2)groupadd
(3)passwd
(4)gpasswd
(5)userdel
(6)groupdel
(7)usermod
(8)groupmod
(9)chsh
(10)chfh
(11)chage
三、查詢用戶信息相關命令
-
id :顯示用戶信息
-
who :顯示目前登入系統的用戶信息
-
whoami :顯示自身的用戶名稱
-
finger :查詢用戶的相信信息,例如用戶的用戶名、主目錄、停滯時間、登錄時間、登錄shell等信息
(1)id
id USERNAME
-g:顯示用戶所屬的基本組
-G:顯示用戶所有組(默認顯示數字)
-n:顯示名稱
-u:顯示UID
(2)who
who [option]
-H :顯示各欄位
(3)whoami
whoami [–help][–version]
(4)finger
finger [-lmsp] [user …] [user@host …]
-l : 多行顯示來描述信息,例如關于用戶家目錄,家庭電話,登錄腳本等內容
實例截圖:
(1)id
(2)who
(3)whoami
(4)finger
四、切換用戶命令
su: switch user
su [OPTIONS] USERNAME
-l:完全切換 ,l可省略
備注:如果不使用“-l”切換用戶,只是切換了過去,但其實環境變量,家目錄都沒有改變。
-c 'COMMAND':僅以指定用戶運行命令,并取回結果(一般用于腳本中)
例子:su wqp -c 'ls' ————> fstab
表示并不切換賬號而執行某個命令
實例截圖:
五、命令總結
(1)用戶和用戶組相關的配置文件管理: /etc/passwd , /etc/group , /etc/shadow ,/etc/gshadow
(2)用戶賬號管理相關命令 : useradd , groupadd , passwd , gpasswd , userdel , groupdel , usermod , groupmod , chsh , chfn , chage
(3)查詢用戶信息相關命令: id , who,whoami,finger
(4)切換用戶命令: su
原創文章,作者:螃蟹,如若轉載,請注明出處:http://www.www58058.com/5234