useradd 增加使用者。
passwd 設定或變更密碼。
usermod 用戶帳號相關資料微調。
userdel 刪除使用者。
id 查詢使用者的 UID、GID 及所擁有的群組。
- useradd:增加使用者。
[root@dywOffice dywang]# useradd [-ungGmMd] user
參數:
-u: 指定帳號的 UID。
-n: 群組為 users。
-g: 後接之群組 initial group,變動 /etc/passwd。
-G: 後接之群組為支援此帳號之群組,變動 /etc/group。
-M: 不要建立使用者家目錄。
-m: 建立使用者家目錄。
-d: 指定某個目錄為家目錄,而不使用預設目錄。
#範例:
### 帳號之群組 ###
[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/
- useradd 指令至少可能會更動到的檔案有:
- /etc/passwd
- /etc/shadow
- /etc/group
- /etc/gshadow
- /home/username [表示家目錄 /home 下產生的帳號 username 目錄]
- useradd 指令在建立帳號時會參考的檔案:
- /etc/default/useradd:預設的帳號的基本設定。
GROUP=100 %*<==預設的群組*)
HOME=/home %*<==預設的家目錄所在目錄*)
INACTIVE=-1 %*<==在 /etc/shadow 內的第 7 欄*)
EXPIRE= %*<==在 /etc/shadow 內的第 8 欄*)
SHELL=/bin/bash %*<==預設的 shell*)
SKEL=/etc/skel %*<==使用者家目錄的內容資料參考目錄*)
- /etc/login.defs:預設的帳號的基本設定。
MAIL_DIR /var/spool/mail %*<==使用者預設郵件信箱放置目錄*)
PASS_MAX_DAYS 99999 %*<==/etc/shadow 內的第 5 欄*)
PASS_MIN_DAYS 0 %*<==/etc/shadow 內的第 4 欄*)
PASS_MIN_LEN 5 %*<==密碼最短的字元長度*)
PASS_WARN_AGE 7 %*<==/etc/shadow 內的第 6 欄*)
UID_MIN 500 %*<==使用者最小的 UID,意即小於 500 的 UID 為系統保留*)
UID_MAX 60000 %*<==使用者能夠用的最大 UID*)
GID_MIN 500 %*<==使用者自訂群組的最小 GID,小於 500 為系統保留*)
GID_MAX 60000 %*<==使用者自訂群組的最大 GID*)
CREATE_HOME yes %*<==在不加 -M 及 -m 時,是否主動建立使用者家目錄?*)
- /etc/skel/*:使用者家目錄的參考設定 copy 至家目錄。
- 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
- root 可進行密碼設定與變更,不需要知道舊密碼。
- 一般而言,密碼最好要符合下列要求:
- 密碼不能與帳號相同;
- 密碼盡量不要選用字典裡面會出現的字串;
- 密碼需要超過 8 個字元;
- usermod:用戶帳號相關資料微調。
[root@linux ~]# usermod [-cdegGlsuLU] username
參數:
-c :後面接帳號的說明,即 /etc/passwd 第五欄的說明欄,可以加入一些帳號的說明。
-d :後面接帳號的家目錄,即修改 /etc/passwd 的第六欄;
-e :後面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 內的第八個欄位資料。
-g :後面接 group name,修改 /etc/passwd 的第四個欄位,亦即是 GID 的欄位。
-G :後面接 group name,修改這個使用者能夠支援的群組,修改的是 /etc/group 第四欄。
-l :後面接帳號名稱。亦即是修改帳號名稱, /etc/passwd 的第一欄。
-s :後面接 Shell 的實際檔案,例如 /bin/bash 或 /bin/csh 等等。
-u :後面接 UID 數字。即 /etc/passwd 第三欄的資料;
-L :暫時將使用者的密碼凍結,讓他無法登入。其實僅改 /etc/shadow 的密碼欄。
-U :將 /etc/shadow 密碼欄的 ! 拿掉。
[root@localhost csie]# usermod -c csie1test -d /home/testx -e 2007-12-31 csie1
[root@localhost csie]# grep csie1 /etc/passwd /etc/shadow
/etc/passwd:csie1:x:500:100:csie1test:/home/testx:/bin/bash
/etc/shadow:csie1:$1$P0vkC.HK$MsHV7PNiDBXHcCS4hJ.yI/:13861:0:60:5:2:13878:
[root@localhost csie]# usermod -g test4 -G users -l csie1x csie1
[root@localhost csie]# grep csie1 /etc/passwd /etc/group
/etc/passwd:csie1x:x:500:504:csie1test:/home/testx:/bin/bash
/etc/group:users:x:100:csie,csie1x
[root@localhost csie]# usermod -s /bin/csh -u 519 -l csie1 csie1x
[root@localhost csie]# grep csie1 /etc/passwd /etc/group
/etc/passwd:csie1:x:519:504:csie1test:/home/testx:/bin/csh
/etc/group:users:x:100:csie,csie1
- userdel:刪除使用者。
[root@linux ~]# userdel [-r] username
參數:
-r :連同使用者的家目錄一起刪除。
#範例:
[root@dywOffice dywang]# userdel -r testing
# 若帳號只是『暫時不啟用』,可將 /etc/shadow 最後倒數第二個欄位(第八欄位)設定為 0。
- userdel 相關的檔案有:
- /etc/passwd
- /etc/shadow
- /home/username
- id:查詢使用者的 UID、GID 及所擁有的群組。
[dywang@dywOffice ~]$ id
uid=501(dywang) gid=100(users) groups=100(users)
沒有留言:
張貼留言