歡迎您光臨本站 註冊首頁

Linux 的賬號與群組管理

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

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


[火星人 ] Linux 的賬號與群組管理已經有485次圍觀

http://coctec.com/docs/linux/show-post-47189.html