Linux 用戶和組 (2) useradd

linux下useradd命令詳解


   1、作用


  useradd命令用來建立用戶帳號和創建用戶的起始目錄,使用權限是超級用戶


  2、格式


  useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name

    usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][- f <緩衝天數>][-g <羣組>][-G <羣組>][-l <帳號名稱>][-s ][-u ] [用戶帳號] 


  3、主要參數


  -c:加上備註文字,備註文字保存在passwd的備註欄中。

  -d:指定用戶登入時的啓始目錄。

  -D:變更預設值。

  -e:指定賬號的有效期限,缺省表示永久有效。

  -f:指定在密碼過期後多少天即關閉該賬號。

  -g:指定用戶所屬的羣組。

  -G:指定用戶所屬的附加羣組。

  -m:自動建立用戶的登入目錄。

  -M:不要自動建立用戶的登入目錄。

  -n:取消建立以用戶名稱爲名的羣組。

  -r:建立系統賬號。

  -s:指定用戶登入後所使用的shell。

  -u:指定用戶ID號。


  4、說明


  useradd可用來建立用戶賬號,它和adduser命令是相同的。賬號建好之後,再用passwd設定賬號的密碼。使用useradd命令所建立的賬號,實際上是保存在/etc/passwd文本文件中。。


參數名描述
-u後面接UID,是一組數字。直接給這個賬號指定一個特定的UID。
-g後面接的用戶組名稱就是之前提到的初始用戶組。
該group ID(GID)會放置到 /etc/passwd 的第四個字段內。
-G後面接的用戶組名稱是這個賬號還可以屬於哪些用戶組。
此參數會修改 /etc/group 內的相關數據。
-M強制不創建家目錄。
-m強制必須創建家目錄。
-c就是 /etc/passwd 第五欄的用戶說明信息,可以隨便設置,各位隨意。
-d用此參數後面指定的路徑做爲新賬號的家目錄,而不使用默認值。
-r創建的賬號爲系統賬號:該賬號的UID會有限制(/etc/login.defs)
-s指定新賬號的默認shell

id 範圍 ID 使用者特性 



0(系統管理員)

當 UID 是 0 時,代表這個帳號是‘系統管理員’! 所以當你要讓其他的帳號名稱也具有 root 的權限時,將該帳號的 UID 改爲 0 即可。 這也就是說,一部系統上面的系統管理員不見得只有 root 喔! 不過,很不建議有多個帳號的 UID 是 0 






1~499(系統帳號)

保留給系統使用的 ID,其實除了 0 之外,其他的 UID 權限與特性並沒有不一樣。預設 500 以下的數字讓給系統作爲保留帳號只是一個習慣。


由於系統上面啓動的服務希望使用較小的權限去運作,因此不希望使用 root 的身份去執行這些服務, 所以我們就得要提供這些運作中程式的擁有者帳號才行。這些系統帳號通常是不可登入的, 所以纔會有我們在第十一章提到的 /sbin/nologin 這個特殊的 shell 存在。


根據系統帳號的由來,通常系統帳號又約略被區分爲兩種:

1~99:由 distributions 自行建立的系統帳號;

100~499:若使用者有系統帳號需求時,可以使用的帳號 UID。

500~65535(可登入帳號)給一般使用者用的。事實上,目前的 linux 核心 (2.6.x 版)已經可以支援到 4294967295 (2^32-1) 這麼大的 UID 號碼!

範例一:完全參考預設值建立一個使用者,名稱爲 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:    <==預設會建立一個與帳號一模一樣的羣組名


範例二:假設我已知道我的系統當中有個羣組名稱爲 users ,且 UID 700 並不存在,

        請用 users 爲初始羣組,以及 uid 爲 700 來建立一個名爲 vbird2 的帳號

[root@www ~]# useradd   -u   700  -g  users  vbird2

[root@www ~]# ll  -d  /home/vbird2

drwx------ 4 vbird2 users 4096 Feb 25 09:59 /home/vbird2


[root@www ~]# grep  vbird2  /etc/passwd  /etc/shadow  /etc/group

/etc/passwd:vbird2:x:700:100::/home/vbird2:/bin/bash

/etc/shadow:vbird2:!!:14300:0:99999:7:::

# 看一下,UID 與 initial group 確實改變成我們需要的了!

 

範例三:建立一個系統帳號,名稱爲 vbird3

[root@www ~]# useradd  -r  vbird3

[root@www ~]# ll  -d  /home/vbird3

ls: /home/vbird3: No such file or directory  <==不會主動建立家目錄


[root@www ~]# grep  vbird3  /etc/passwd  /etc/shadow  /etc/group

/etc/passwd:vbird3:x:100:103::/home/vbird3:/bin/bash

/etc/shadow:vbird3:!!:14300::::::

/etc/group:vbird3:x:103:

 



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