Linux用戶管理

前文:Linux文件管理命令

 

Linux用戶管理相關命令

 

一、useradd

            useradd - 創建一個新用戶或更新默認新用戶信息.

    用法:
            useradd [選項] 登錄

            useradd -D

            useradd -D [選項]


    用法描述

            如果使用時不帶 -D 選項,useradd命令使用命令行上指定的值和系統的默認值創建一個新用戶。

            根據命令行選項,useradd命令也會更新系統文件和創建新用戶的主目錄並複製初始文件。

            默認上,也會爲用戶創建組 (察看 -g, -N, -U,和 USERGROUPS_ENAB)。

 

常用選項:

           -b, --base-dirBASE_DIR  

                    如果未指定-dhome_dir,則爲系統的默認基目錄。BaseIdir是與帳戶名連接以定義主目錄。基目錄必須存在否則無法創建主目錄。

                    如果選項沒有指定,useradd 將使用 /etc/default/useradd 中的 HOME 變量,或者默認的 /home

           

            -c, --commentCOMMENT
           任何字符串。通常是關於登錄的簡短描述,當前用於用戶全名。

          

            -d, --home-dir HOME_DIR
           將使用home_dir作爲用戶登錄目錄的值創建新用戶。這個默認情況下,將登錄名附加到base_dir,並將其用作登錄目錄名。

          

            -D, --defaults
           看下邊,“更改默認值”子節。

          

            -e, --expiredateEXPIRE_DATE
           用戶賬戶將被禁用的日期。日期以 YYYY-MM-DD 格式指定。

               如果沒有指定,useradd 將使用 /etc/default/useradd 中 EXPIRE
           變量指定的默認過期日期,或者一個空字符串(不過期)。

          

            -f, --inactiveINACTIVE
           密碼過期後,賬戶被徹底禁用之前的天數。0 表示立即禁用,-1 表示禁用這個功能。

               如果未指定,useradd 將使用 /etc/default/useradd 中的 INACTIVE 指定的默認禁用週期,或者默認爲
           -1。

          

            -g, --gidGROUP
           用戶初始登陸組的組名或號碼。組名必須已經存在。組號碼必須指代已經存在的組。

               如果沒有指定, useradd 的行爲將依賴於 /etc/login.defs 文件中的 USERGROUPS_ENAB
           參數。如果此參數設置爲了 yes (或者在命令行上指定了-U/--user-group),將會爲用戶創建一個組,組名和登錄名相同。如果選項設置爲了 no
           (或者在命令行上指定了 -N/--no-user-group),useradd 會把新用戶的主組設置爲/etc/default/useradd 中 GROUP 變量指定的值,再或者默認是 100。

          

            -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]
           用戶還屬於的附加組列表。每個組都用逗號隔開,沒有中間的空格。這裏的組受到了 -g
           選項給定的組同樣的限制。默認上,用戶只屬於初始組。

          

            -h, --help
           現實幫助信息並退出。

          

            -k, --skelSKEL_DIR
           骨架目錄,包含使用 useradd 創建用戶時,要複製到用戶主目錄中的文件和目錄。

               這個選項只有在指定 -m (或 --create-home) 選項時纔有效。

               如果此項沒有設置,骨架目錄使用 /etc/default/useradd 中的 SKEL 的變量或默認爲 /etc/skel。

               如果可以,也複製 ACL 和擴展屬性。

          

            -K, --keyKEY=VALUE
           默認覆蓋 /etc/login.defs (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS 及其它)。 例如:-K
           PASS_MAX_DAYS=-1 可以用於創建一個密碼不會過期的系統賬戶,即使系統賬戶沒有密碼。可以指定多個
          

            -K 選項,如:-K UID_MIN=100-K UID_MAX=499

          

            -l, --no-log-init
           不要將用戶添加到最近登錄和登錄失敗數據庫。

               默認上,最近登錄和登錄失敗中用戶的條目會被重置,以避免重新使用先前刪除的用戶的條目。

          

            -m, --create-home
           如果不存在,則創建用戶主目錄。骨架目錄中的文件和目錄(可以使用 -k
           選項指定),將會複製到主目錄。

               默認上,如果沒有指定此選項並且 CREATE_HOME 沒有啓用,不會創建主目錄。

              創建用戶主目錄的目錄必須存在並具有正確的selinux上下文和權限。否則,無法創建或訪問用戶的主目錄。

          

            -M, --no-create-home
                即使系統範圍的設置來自/etc/login.defs,也不要創建用戶的主目錄。

                (CREATE_HOME)設置爲是。

 

            -N, --no-user-group
           不要創建同名組,而是將用戶添加到 -g 選項指定的組,或根據 /etc/default/useradd 中的 GROUP
           變量。

               如果沒有指定 -g, -N 和 -U 選項,默認行爲由 /etc/login.defs 中的 USERGROUPS_ENAB 變量指定。

          

            -o, --non-unique
           允許使用重複的 UID 創建用戶賬戶。

               此選項只有和 -u 選項組合使用纔有效。

          

            -p, --passwordPASSWORD
           加密了的密碼,就像 crypt(3) 的返回值。默認爲禁用密碼。

               注意:不推薦使用這個選項,因爲密碼(或加密過的密碼)會被用戶通過列出這個過程而看到。

               您應該確保密碼符合系統的密碼政策。

              

            -r, --system
           創建一個系統賬戶。

                 創建系統用戶時,在/etc/shadow中沒有老化信息及其數字

                 標識符是在SYS_UID_MIN-SYS_UID_MAX範圍中選擇的,在/etc/login.defs中定義,

                 而不是 UID_MIN-UID_MAX(以及創建組的gid對應項)。

                 注意:useradd 不會爲這種用戶創建主目錄,無論 /etc/login.defs (CREATE_HOME)中是的默認設置是怎樣。如果想爲要創建的系統賬戶創建主目錄,需要指定 -m 選項。

          

            -R, --rootCHROOT_DIR
              在chroot_dir目錄中應用更改,並使用chroot_dir目錄中的配置文件。

          

            -s, --shellSHELL
           用戶的登錄 shell 名。默認爲留空,讓系統根據 /etc/default/useradd 中的 SHELL
           變量選擇默認的登錄 shell,默認爲空字符串。

          

            -u, --uidUID
           用戶 ID 的數字值。此值必須爲唯一的,除非使用了 -o 選項。此值必須非負,默認使用大於等於
           UID_MIN,且大於任何其他用戶 ID 最小值。

               請參考 -r 選項和 UID_MAX 的描述。

          

            -U, --user-group
           創建一個和用戶同名的組,並將用戶添加到組中。

               如果沒有指定 -g, -N 和 -U 選項,默認行爲由 /etc/login.defs 中的 USERGROUPS_ENAB 變量指定。

          

            -Z, --selinux-userSEUSER
           用戶登陸的 SELinux 用戶。默認爲留空,這會造成系統選擇默認的 SELinux 用戶。

    

二、usermod

            usermod - 修改一個用戶賬戶

    用法:
             usermod [選項] 登錄

    用法描述

           usermod 修改系統賬戶文件和在命令行上指定的相關更改。

 

常用選項:

       -a, --append

           將用戶添加到附加組。只能和 -G 選項一起使用。


       -c, --commentCOMMENT

           用戶密碼文件中註釋字段的新值。通常使用 chfn(1) 工具對其進行修改。


       -d, --homeHOME_DIR

           用戶的新登錄目錄。


           如果給定-m選項,則當前主目錄的內容將移動到新的主目錄,如果新的主目錄不存在,則會創建新的主目錄。如果當前主目錄不存在,則不會創建新的主目錄。


       -e, --expiredateEXPIRE_DATE

           用戶賬戶將被禁用的日期。日期以 YYYY-MM-DD 格式指定。


           空 EXPIRE_DATE 參數將禁用賬戶過期。


           此選項需要一個 /etc/passwd 文件。如果沒有,將會創建一條 /etc/shadow 項目。


       -f, --inactiveINACTIVE

           密碼過期之後,賬戶被徹底禁用之前的天數。


           0 表示密碼過期時,立即禁用賬戶;-1 表示不使用這個功能。


           此選項需要一個 /etc/passwd 文件。如果沒有,將會創建一條 /etc/shadow 項目。


       -g, --gidGROUP

           用戶的新初始登錄組的組名或數字代號。此組必須存在。


           用戶主目錄中,屬於原來的主組的文件將轉交新組所有。


           主目錄之外的文件所屬的組必須手動修改。


           如果home dir owner uid與當前或新用戶ID不同,也不會更改用戶主目錄中文件的組所有權。這是對特殊主目錄(如/)的安全措施。


       -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]

           用戶還屬於的附加組列表。組之間使用逗號分隔,沒有空格。這些組需要遵守和 -g

           選項中給的組同樣的限制。


           如果用戶當前是一個組的成員,而這個組沒有列在這裏,用戶將被從那個組裏便刪除。這個行爲可以通過

           -a 選項修改,這使用戶追加到給出的附加組列表中。


       -l, --loginNEW_LOGIN

           用戶的名稱將會從 LOGIN 修改爲

           NEW_LOGIN。不會更改別的任何東西。特別是,用戶的主目錄名和郵件池也需要手動修改以和新登錄名對應。


       -L, --lock

           鎖定用戶的密碼。這會在用戶加密的密碼之前放置一個“!”,可以快速禁用密碼。您可以和 -p 或 -U

           配合使用此選項。


           注意:如果希望鎖定賬戶(不僅僅是通過密碼訪問),您也需要設置 EXPIRE_DATE 爲 1。


       -m, --move-home

           將用戶主目錄的內容移動到新位置。如果當前主目錄不存在,則不會創建新的主目錄。


           這個選項只有和 -d (或 --home) 選項組合使用時纔有效。


           usermod 會改寫文件的屬主並複製模式、ACL 和擴展屬性,但是稍後也可能需要手動修改。


       -o, --non-unique

           使用 -u 選項時,可以將用戶 ID 改爲非唯一的值。


       -R, --rootCHROOT_DIR

           在chroot_dir目錄中應用更改,並使用chroot_dir目錄中的配置文件。


       -s, --shellSHELL

           用戶的新登錄 shell 的名稱。將此字段設置爲空會讓系統選擇默認的登錄 shell。


       -u, --uidUID

           用戶 ID 的新數值。


           這個值必須是唯一的,除非使用了 -o 選項,必須是非負值。


           用戶的郵箱,用戶主目錄中屬於此用戶的文件的屬主 ID 也將自動更改。


           用戶主目錄之外文件所有權必須手動修復。


           如果home dir owner uid與當前或新的用戶ID不同,也不會更改用戶主目錄中文件的用戶所有權。這是特殊主目錄(如/)的安全措施。

           請在chroot_dir目錄中應用更改,並使用 chroot_dir目錄中的配置文件。


           不會對 /etc/login.defs 中的 UID_MIN, UID_MAX, SYS_UID_MIN 和 SYS_UID_MAX 進行檢查。


       -U, --unlock

           解鎖用戶的密碼。這將移除加密的密碼之前的“!”。您可以將此選項和 -p 或 -L 配合使用。


           注意:如果您希望解鎖賬戶(不只是使用密碼訪問),您也應該設置 EXPIRE_DATE (例如設置爲

           99999,或者 /etc/default/useradd 中的 EXPIRE 值)。


       -Z, --selinux-userSEUSER

           用戶登陸的 SELinux 用戶。


           空的 SEUSER 將移除用戶 LOGIN 的 SELinux 用戶映射(如果有)。



三、userdel

            userdel - 刪除用戶賬戶和相關文件

    用法:
             userdel [選項] 登錄

    用法描述

           userdel 修改系統賬戶文件,刪除與用戶名 LOGIN 相關的所以項目。給出的用戶名必須存在。

 

常用選項:

        -f, --force

           此選項強制刪除用戶賬戶,甚至用戶仍然在登錄狀態。它也強制 userdel

           刪除用戶的主目錄和郵箱,即使其它用戶也使用同一個主目錄或郵箱不屬於指定的用戶。如果

           /etc/login.defs 中的 USERGROUPS_ENAB 定義爲

           yes,並且如果有一個和用戶同名的組,也會刪除此組,即使它仍然是別的用戶的主組。


           注意:此選項危險,可能會破壞系統的穩定性。


       -h, --help

           現實幫助信息並退出。


       -r, --remove

           用戶主目錄中的文件將隨用戶主目錄和用戶郵箱一起刪除。在其它文件系統中的文件必須手動搜索並刪除。


           郵箱在 login.defs 文件中的 MAIL_DIR 變量中定義。


       -R, --rootCHROOT_DIR

          在chroot_dir目錄中應用更改,並使用chroot_dir目錄中的配置文件。


       -Z, --selinux-user

           移除用戶登錄的所有 SELinux 用戶映射。


實例:

        創建用戶tom,指定UID爲5001,指定家目錄爲/tmp/tom, 指定shell爲/bin/zsh, 指定基本組爲tom,附加組爲jack

360截圖1786060871103114.jpg

360截圖17290506196727.jpg

360截圖17071208140432.jpg

            

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