linux賬號管理:
[root@www ~]# useradd [-u UID] [-g 初始群組] [-G 次要群組] [-mM]\
> [-c 說明欄] [-d 家目錄絕對路徑] [-s shell] 使用者賬號名
選項與參數:
-u :後面接的是 UID ,是一組數字.直接指定一個特定的 UID 給這個賬號;
-g
該群組的 GID 會被放置到 /etc/passwd 的第四個欄位內.
-G :後面接的組名則是這個賬號還可以加入的群組.
這個選項與參數會修改 /etc/group 內的相關數據喔!
-M :強制!不要創建用戶家目錄!(系統賬號默認值)
-m :強制!要創建用戶家目錄!(一般賬號默認值
-c :這個就是 /etc/passwd 的第五欄的說明內容啦~可以隨便我們配置的啦~
-d :指定某個目錄成為家目錄,而不要使用默認值.務必使用絕對路徑!
-r :創建一個系統的賬號,這個賬號的 UID 會有限制 (參考 /etc/login.defs)
-s :後面接一個 shell ,若沒有指定則默認是 /bin/bash 的啦~
-e :後面接一個日期,格式為『
亦即賬號失效日的配置項目啰;
-f :後面接 shadow 的第七欄位項目,指定口令是否會失效.0為立刻失效,
-1 為永遠不失效(口令只會過期而強制於登陸時重新配置而已.)
範例:完全參考默認值創建一個用戶,名稱為 vbird1
[root@www ~]# ll -d /home/vbird1
drwx------ 4 vbird1 vbird1 4096 Feb 25 09:38 /home/vbird1
# 默認會創建用戶家目錄,且許可權為 700
[root@www ~]# grep vbird1 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird1:x:504:505::/home/vbird1:/bin/bash
/etc/shadow:vbird1:!!:14300:0:99999:7:::
/etc/group:vbird1:x:505: <==
[root@www ~]# passwd [--stdin] <==所有人均可使用來改自己的口令
[root@www ~]# passwd [-l] [-u] [--stdin] [-S] \
> [-n
選項與參數:
--stdin :可以透過來自前一個管線的數據,作為口令輸入,對 shell script 有幫助!
-l :是 Lock 的意思,會將 /etc/shadow 第二欄最前面加上 ! 使口令失效;
-u :與 -l 相對,是
-S :列出口令相關參數,亦即 shadow 文件內的大部分信息.
-n :後面接天數,shadow 的第 4 欄位,多久不可修改口令天數
-x :後面接天數,shadow 的第 5 欄位,多久內必須要更動口令
-w :後面接天數,shadow 的第 6 欄位,口令過期前的警告天數
範例:請 root 給予 vbird2 口令
[root@www ~]# passwd vbird2
Changing password for user vbird2.
New UNIX password: <==這裡直接輸入新的口令,屏幕不會有任何反應
BAD PASSWORD: it is WAY too short <==口令太簡單或過短的錯誤!
Retype new UNIX password: <==再輸入一次同樣的口令
passwd: all authentication tokens updated successfully. <==竟然還是成功修改了
範例:使用 standard input 創建用戶的口令
[root@www ~]# echo "abc543CC" | passwd --stdin vbird2
Changing password for user vbird2.
passwd: all authentication tokens updated successfully.
[root@www ~]# usermod [-cdegGlsuLU] username
選項與參數:
-c :後面接賬號的說明,即 /etc/passwd 第五欄的說明欄,可以加入一些賬號的說明.
-d :後面接賬號的家目錄,即修改 /etc/passwd 的第六欄;
-e :後面接日期,格式是
-f :後面接天數,為 shadow 的第七欄位.
-g :後面接初始群組,修改 /etc/passwd 的第四個欄位,亦即是 GID 的欄位!
-G :後面接次要群組,修改這個使用者能夠支持的群組,修改的是 /etc/group 啰~
-a :與 -G 合用,可『添加次要群組的支持』而非『配置』喔!
-s :後面接 Shell 的實際文件,例如 /bin/bash 或 /bin/csh 等等.
-u :後面接 UID 數字啦!即 /etc/passwd 第三欄的數據;
-L :暫時將用戶的口令凍結,讓他無法登陸.其實僅改 /etc/shadow 的口令欄.
-U :解鎖Ulock
[root@www ~]# userdel [-r] username
選項與參數:
-r :連同用戶的家目錄也一起刪除
範例:刪除 vbird2 ,連同家目錄一起刪除
[root@www ~]# finger [-s] username
選項與參數:
-s :僅列出用戶的賬號、全名、終端機代號與登陸時間等等;
-m :列出與後面接的賬號相同者,而不是利用部分比對 (包括全名部分)
範例一:觀察 vbird1 的用戶相關賬號屬性
[root@www ~]# finger vbird1
Login: vbird1 Name: (null)
Directory: /home/vbird1 Shell: /bin/bash
Never logged in.
No mail.
No Plan.
[root@www ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),
10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh
# 上面信息其實是同一行的數據!包括會顯示 UID/GID 以及支持的所有群組!
[root@www ~]# groupadd [-g gid] [-r] 組名
選項與參數:
-g :後面接某個特定的 GID ,用來直接給予某個 GID ~
-r :創建系統群組啦!與 /etc/login.defs 內的 GID_MIN
範例一:新建一個群組,名稱為 group1
[root@www ~]# groupadd group1
[root@www ~]# grep group1 /etc/group /etc/gshadow
/etc/group:group1:x:702:
/etc/gshadow:group1:!::
# 群組的 GID 也是會由 500 以上最大 GID 1 來決定!
[root@www ~]# groupmod [-g gid] [-n group_name] 群組名
選項與參數:
-g :修改既有的 GID 數字;
-n :修改既有的組名
範例一:將剛剛上個命令創建的 group1 名稱改為
[root@www ~]# groupmod -g 201 -n mygroup group1
[root@www ~]# grep mygroup /etc/group /etc/gshadow
/etc/group:mygroup:x:201:
/etc/gshadow:mygroup:!::
[root@www ~]# groupdel [groupname]
範例一:將剛剛的 mygroup 刪除!
[root@www ~]# groupdel mygroup
# 關於系統管理員(root)做的動作:
[root@www ~]# gpasswd groupname
[root@www ~]# gpasswd [-A user1,...] [-M user3,...] groupname
[root@www ~]# gpasswd [-rR] groupname
選項與參數:
:若沒有任何參數時,表示給予 groupname 一個口令(/etc/gshadow)
-A :將 groupname 的主控權交由後面的使用者管理(該群組的管理員)
-M :將某些賬號加入這個群組當中!
-r :將 groupname 的口令移除
-R :讓 groupname 的口令欄失效
# 關於群組管理員(Group administrator)做的動作:
[someone@www ~]$ gpasswd [-ad] user groupname
選項與參數:
-a :將某位使用者加入到 groupname 這個群組當中!
-d :將某位使用者移除出
範例一:創建一個新群組,名稱為 testgroup 且群組交由 vbird1 管理:
[root@www ~]# groupadd testgroup <==先創建群組
[root@www ~]# gpasswd testgroup
Changing the password for group testgroup
New Password:
Re-enter new password:
[root@www ~]# gpasswd -A vbird1 testgroup <==加入群組管理員為 vbird1
[root@www ~]# grep testgroup /etc/group /etc/gshadow
/etc/group:testgroup:x:702:
/etc/gshadow:testgroup:$1$I5ukIY1.$o5fmW.cOsc8.K.FHAFLWg0:vbird1:
# 很有趣吧!此時 vbird1 則擁有 testgroup 的主控權喔!身份有點像板主啦!
[vbird1@www ~]$ id
uid=504(vbird1) gid=505(vbird1) groups=505(vbird1) ....
[vbird1@www ~]$ gpasswd -a vbird1 testgroup
[vbird1@www ~]$ gpasswd -a vbird3 testgroup
[vbird1@www ~]$ grep testgroup /etc/group
testgroup:x:702:vbird1,vbird3
[火星人 ] Linux 的賬號與群組管理已經有485次圍觀