page counter next up previous contents
Next: 使用者身份切換 Up: 帳號與身份管理 Previous: Linux 的帳號   Contents

使用者管理指令


		useradd		增加使用者。

passwd 設定或變更密碼。
usermod 用戶帳號相關資料微調。
userdel 刪除使用者。
id 查詢使用者的 UID、GID 及所擁有的群組。

  1. useradd:增加使用者。
    [root@dywOffice dywang]# useradd [-ungGmMd] user
    參數:
    -u:  指定帳號的 UID。 
    -n:  群組為 users。 
    -g:  後接之群組 initial group,變動 /etc/passwd。 
    -G:  後接之群組為支援此帳號之群組,變動 /etc/group。 
    -M:  不要建立使用者家目錄。 
    -m:  建立使用者家目錄。 
    -d:  指定某個目錄為家目錄,而不使用預設目錄。 
    -s:  指定使用的 shell。
    
    範例:
    ### 帳號之群組 ###
    [root@dywOffice dywang]# useradd -n testing
    [root@dywOffice dywang]# ll /home/testing
    total 4
    drwx------  2 testing users 4096 Aug  7 15:28 tmp/
    [root@dywOffice ~]# useradd -G ftp test1
    [root@dywOffice ~]# useradd -n test2
    [root@dywOffice ~]# useradd -g test1 test3
    [root@dywOffice ~]# grep test1 /etc/passwd /etc/group
    /etc/passwd:test1:x:511:511::/home/test1:/bin/bash
    /etc/group:ftp:x:76:ftp,calculus1A,calculus1B,linux2AB,test1
    /etc/group:test1:x:511:
    [root@dywOffice ~]# grep test2 /etc/passwd /etc/group
    /etc/passwd:test2:x:512:100::/home/test2:/bin/bash
    [root@dywOffice ~]# grep test3 /etc/passwd /etc/group
    /etc/passwd:test3:x:513:511::/home/test3:/bin/bash
    [root@dywOffice ~]# ls -ld /home/test?
    drwx--x--x  21 test1 ftp   4096 Jul 31 07:24 /home/test1/
    drwx--x--x   3 test2 users 4096 Dec  6 13:50 /home/test2/
    drwx--x--x   3 test3 test1 4096 Dec  6 14:11 /home/test3/
    
    ### 帳號之家目錄 ###
    [root@dywOffice ~]# useradd -M test4
    [root@dywOffice ~]# useradd -m test5
    [root@dywOffice ~]# useradd -d /home/testx test6
    [root@dywOffice ~]# ls -ld /home/test[456x]
    drwxr-xr-x  4 test5 test5 4096 Dec 19 11:02 /home/test5/
    drwxr-xr-x  4 test6 test6 4096 Dec 19 11:04 /home/testx/
    
    ### 帳號之 shell ###
    [root@dywOffice ~]# useradd -s /bin/bash
    [root@dywOffice ~]# useradd -s /bin/false
    [root@dywOffice ~]# useradd -s /bin/sh
    [root@dywOffice ~]# useradd -s /sbin/nologin
    

  2. passwd:設定或變更密碼。
    [root@linux ~]# passwd [-lunxwS] username
    參數:
    -l  :將 username 這個帳號的密碼鎖住 (lock),在 /etc/shadow 內的密碼欄
    -u  :將 -l 的 lock 解開。
    -n  :後面接天數(數字),最短天數;亦即是 /etc/shadow 內的第四欄;
    -x  :後面接天數(數字),最長天數;亦即是 /etc/shadow 內的第五欄;
    -w  :後面接天數(數字),警告天數;亦即是 /etc/shadow 內的第六欄;
    -i  :後面接天數(數字),密碼過期的恕限時間;亦即是 /etc/shadow 內的第七欄;
    -S  :顯示目前這個 username 的相關資訊。
    --stdin  :經由標準輸入取得密碼,配合管線處理,可大量更改用戶密碼。
    
    範例:
    範例一:鎖住用戶 csie1 的密碼。
    [root@localhost csie]# passwd -l csie1
    Locking password for user csie1.
    passwd: Success
    [root@localhost csie]# grep csie1 /etc/shadow
    csie1:!!$1$P0vkC.HK$MsHV7PNiDBXHcCS4hJ.yI/:13861::99999::::
    
    範例二:解除鎖定用戶 csie1 的密碼。
    [root@localhost csie]# passwd -u csie1
    Unlocking password for user csie1.
    passwd: Success.
    [root@localhost csie]# grep csie1 /etc/shadow
    csie1:$1$P0vkC.HK$MsHV7PNiDBXHcCS4hJ.yI/:13861::99999::::
    
    範例三:更改用戶 csie1 的密碼之最短、最長、警告及過期的恕限時間。
    [root@localhost csie]# passwd -n 0 -x 60 -w 5 -i 2 csie1
    Adjusting aging data for user csie1.
    passwd: Success
    [root@localhost csie]# grep csie1 /etc/shadow
    csie1:$1$P0vkC.HK$MsHV7PNiDBXHcCS4hJ.yI/:13861:0:60:5:2::
    [root@localhost csie]# passwd -S csie1
    Password set, MD5 crypt.
    
    範例四:密碼設定,必須經由鍵盤輸入兩次。
    [root@dywOffice dywang]# passwd testing
    Changing password for user testing.
    New UNIX password:
    BAD PASSWORD: it is too short
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
    
    範例五:經由標準輸入取得密碼,配合管線處理,可大量更改用戶密碼。
    [root@dywHome2 ~]# echo "lopex" | passwd --stdin dywang
    
    1. root 可進行密碼設定與變更,不需要知道舊密碼。
    2. 一般而言,密碼最好要符合下列要求:
      1. 密碼不能與帳號相同;
      2. 密碼盡量不要選用字典裡面會出現的字串;
      3. 密碼需要超過 8 個字元;

  3. userdel:刪除使用者。
    [root@linux ~]# userdel [-r] username
    參數:
    -r  :連同使用者的家目錄一起刪除。
    
    範例:
    [root@dywOffice dywang]# userdel -r testing
    
    # 若帳號只是『暫時不啟用』,可將 /etc/shadow 最後倒數第二個欄位(第八欄位)設定為 0。
    

  4. id:查詢使用者的 UID、GID 及所擁有的群組。
    [dywang@dywOffice ~]$ id
    uid=501(dywang) gid=100(users) groups=100(users)
    


2015-04-13