Linux 的賬號與羣組管理

 linux賬號管理:

[root@www ~]# useradd [-u UID] [-g 初始羣組] [-G 次要羣組] [-mM]\

>  [-c 說明欄] [-d 家目錄絕對路徑] [-s shell] 使用者賬號名

選項與參數:

-u  :後面接的是 UID ,是一組數字。直接指定一個特定的 UID 給這個賬號;

-g  :後面接的那個組名就是initial group

      該羣組的 GID 會被放置到 /etc/passwd 的第四個字段內。

-G  :後面接的組名則是這個賬號還可以加入的羣組。

      這個選項與參數會修改 /etc/group 內的相關數據喔!

-M  :強制!不要創建用戶家目錄!(系統賬號默認值)

-m  :強制!要創建用戶家目錄!(一般賬號默認值)

-c  :這個就是 /etc/passwd 的第五欄的說明內容啦~可以隨便我們配置的啦~

-d  :指定某個目錄成爲家目錄,而不要使用默認值。務必使用絕對路徑!

-r  :創建一個系統的賬號,這個賬號的 UID 會有限制 (參考 /etc/login.defs)

-s  :後面接一個 shell ,若沒有指定則默認是 /bin/bash 的啦~

-e  :後面接一個日期,格式爲『YYYY-MM-DD』此項目可寫入 shadow 第八字段,

      亦即賬號失效日的配置項目囉;

-f  :後面接 shadow 的第七字段項目,指定口令是否會失效。0爲立刻失效,

      -1 爲永遠不失效(口令只會過期而強制於登陸時重新配置而已。)

 

範例:完全參考默認值創建一個用戶,名稱爲 vbird1

[root@www ~]# useradd 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 日數] [-x 日數] [-w 日數] [-i 日期] 賬號 <==root 功能

選項與參數:

--stdin :可以透過來自前一個管線的數據,作爲口令輸入,對 shell script 有幫助!

-l  :是 Lock 的意思,會將 /etc/shadow 第二欄最前面加上 ! 使口令失效;

-u  :與 -l 相對,是 Unlock 的意思!

-S  :列出口令相關參數,亦即 shadow 文件內的大部分信息。

-n  :後面接天數,shadow 的第 4 字段,多久不可修改口令天數

-x  :後面接天數,shadow 的第 5 字段,多久內必須要更動口令

-w  :後面接天數,shadow 的第 6 字段,口令過期前的警告天數

-i  :後面接『日期』,shadow 的第 7 字段,口令失效日期

 

範例:請 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  :後面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 內的第八個字段數據啦!

-f  :後面接天數,爲 shadow 的第七字段。

-g  :後面接初始羣組,修改 /etc/passwd 的第四個字段,亦即是 GID 的字段!

-G  :後面接次要羣組,修改這個使用者能夠支持的羣組,修改的是 /etc/group 囉~

-a  :與 -G 合用,可『添加次要羣組的支持』而非『配置』喔!

-l  :後面接賬號名稱。亦即是修改賬號名稱, /etc/passwd 的第一欄!

-s  :後面接 Shell 的實際文件,例如 /bin/bash /bin/csh 等等。

-u  :後面接 UID 數字啦!即 /etc/passwd 第三欄的數據;

-L  :暫時將用戶的口令凍結,讓他無法登陸。其實僅改 /etc/shadow 的口令欄。

-U  :解鎖Ulock

 

 

 

 

 

[root@www ~]# userdel [-r] username

選項與參數:

-r  :連同用戶的家目錄也一起刪除

 

範例:刪除 vbird2 ,連同家目錄一起刪除

[root@www ~]# userdel -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 名稱改爲 mygroup GID 201

[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  :將某位使用者移除出 groupname 這個羣組當中。

 

範例一:創建一個新羣組,名稱爲 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 登陸系統,並且讓他加入 vbird1, vbird3 成爲 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

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章