一、保存用戶信息的文件
root:x:0:0:root:/root:/bin/bashpwftp:x:500:500::/alidata/www/wwwroot/:/sbin/nologinapache:x:48:48:Apache:/var/www:/sbin/nologinMySQL:x:501:400::/home/mysql:/sbin/nologin
一共7項,都用:分隔
| 1 | 用戶名 | |
| 2 | 密碼 | 真正的密文保存在/etc/shadow中 |
| 3 | UID | 用戶id |
| 4 | GID | 組id |
| 5 | 賬戶信息 | 這個賬戶有什么樣的意義 |
| 6 | 家目錄 | 在這個目錄中,用戶擁有全部的權限 |
| 7 | shell類型 | /sbin/nologin 非登錄用戶 /bin/bash 一般用戶使用的shell /bin/false 無法登錄 |
2. 新增用戶
useradd [-u UID] [-g GID] [-d HOME] [-mM] [-s shell] username
| 案例: useradd –u 500 –g 500 –d /home/pwftp -s /sbin/nologin pwftp 建立了一個用戶id為500,組id為500的用戶,用戶名pwftp,主目錄/home/pwftp, 使用的/sbin/nologin這個shell是不可以登錄的. 如果不想系統自動創建mysql用戶家目錄/home/mysql,則要使用-M參數 |
3. 刪除用戶
userdel 用戶名
| 案例: userdel mysql 刪掉mysql這個用戶. 加入mysql用戶組里只存在mysql這一個用戶的話,這個組也會被同時刪掉 如果mysql登錄狀態的,那么得等它登出了再刪除 [root @test /root]# userdel testing <==只有砍掉 /etc/passwd 與 /etc/shadow 的該賬號內容; [root @test /root]# userdel -r testing<==連該賬號的 /home/testing 與 /var/spool/mail/testing 都砍掉! 這個指令下達的時候要小心了!通常我們要移除一個賬號的時候,你可以手動的將 /etc/passwd 與 /etc/shadow 里頭的該賬號取消即可!一般而言,如果該賬號只是『暫時不啟用』的話,那么將 /etc/shadow 里頭最后倒數一個字段設定為 0 就可以讓該賬號無法使用,但是所有跟該賬號相關的數據都會留下來!使用 userdel 的時機通常是『你真的確定不要讓該用戶在主機上面使用任何數據了!』 停用一個賬號: #vi /etc/shadow /pwftp 找到用戶所在行 shift+a 移動到本行的行尾并編輯狀態 做如下的修改: pwftp:$6$fkOSovyP$FDrG1XFhNOvy.ZnsDhrbN7Jnj/Aw1rmN2T8UewW.dcS3nrKbbkRTl.JP4/fh/UFXZ.5Jq61WiLwLYQDssUpbv1:16367:0:99999:7::0: 再次使用pwftp用戶登錄時,得到的提示如下圖: |
4. 修改用戶
usermod -參數 參數值 用戶名
| usermod –s /bin/bash mysql 修改mysql用戶的shell為bash,這樣mysql也能登陸了 其實吧,如果要求改用戶的家目錄,shell,或者組信息,還是直接修改/etc/passwd文件來的簡單直接。 |
[root @test /root]# useradd testing <==直接以默認的數據建立一個名為 testing 的賬號 [root @test /root]# useradd -u 720 -g 100 -M -s /bin/bash testing <==以自己的設定建立賬號
這個指令影響/使用的文件可多了呢,都有以下這些:
5. 建立預設的賬號:
建立賬號時,如果沒有特殊的限定,通常我們只使用 『 useradd username 』就可以建立一個名為username的賬號了!
不過你知道預設賬號的基本設定嗎?嘿嘿嘿嘿!!基本設定就在/etc/default/useradd 和/etc/login.defs 這兩個檔案中!
在 login.defs 里頭有點像底下這樣:
| MAIL_DIR /var/spool/mail <==郵件默認目錄擺放處 PASS_MAX_DAYS 99999 <==密碼需要變更的時間 PASS_MIN_DAYS 0 <==密碼多久需要變更 PASS_MIN_LEN 5 <==密碼的最小長度(這個可以改大一些吧!) PASS_WARN_AGE 7 <==密碼快要失效之前幾天發警告訊息? UID_MIN 500 <==預設帳號最小起算的 UID 數目(最小為 500 ) UID_MAX 60000 <==最大的 UID 限制 GID_MIN 500 <==GID 限制 GID_MAX 60000 <==GID 限制 CREATE_HOME yes <==是否建立家目錄,默認是要建立家目錄(若為 mail server 可以取消此項目) |
幾乎可以設定的都在這里設定了!所以需要了解一下這個檔案!另外,如果你是專門開啟 mail server 的,那么由于使用者賬號不需要登入主機,
所以也就不需要給予家目錄,這個時候最后一項 GREATE_HOME 或者可以設定為 no !此外,當你以默認的數據建立賬號時,該賬號的 UID 將會取目前在
/etc/passwd 當中『最大的(其實是小于 60000)』那一個 UID + 1 即是預設帳號的 UID 啰!
而至于 useradd 內容則為:
| GROUP=100 <==預設的使用者群組為 100 ,查看一下 /etc/group 時,這個組名為 users 呢! HOME=/home <==默認用戶的家目錄建立的目錄 INACTIVE=-1 <==是否不啟動,設定為 -1 自然就是啟動啦! EXPIRE= <==是否需要設定『死亡』時間?如果你希望該用戶在期限到之后就不許登入,此項可以設定天數。 SHELL=/bin/bash <==預設的 Shell 為何? SKEL=/etc/skel <==用戶家目錄的內容! |
在這個項目中,最需要了解的就是 SKEL 啦!當你建立一個名為 testing 的賬號時,默認的家目錄會是『 /home/testing 』這個目錄,
而這個目錄的內容就是由 /etc/skel 所 copy 過去的!所以『當你想要讓用戶的默認家目錄內容更動時,可以直接將要更動的數據寫在 /etc/skel 當中!』
6. 以自己的條件建立賬號:
如果要以自己的條件建立賬號的時候,一般我都是喜歡手動的增加啦!
不然就是先以上面的那一個例子增加一個賬號之后,在去手動修改 /etc/passwd 等等的檔案!
二、保存用戶密碼的文件
1. /etc/shadow
1 賬戶名 2 密碼 3 上次密碼修改日期 4 密碼不可被更改的天數 5 密碼需要被變更的天數 6 密碼需要被變更前的警告期限 7 賬號失效期限 8 賬號取消日期 設為<1970到系統當前日期的數字時,表示賬號已經取消,則該不能使用。 9 保留
三、保存群組信息的文件
1. /etc/group
| root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon |
| 1 | 2 | 3 | 4 |
| 組名 | 群組密碼 | 群組 ID (GID) |
|
四、保存群組密碼的文件
1. /etc/gshadow
root:::root bin:::root,bin,daemon daemon:::root,bin,daemon sys:::root,bin,adm adm:::root,adm,daemon
五、增加使用者的一般步驟:
新增使用者的時候,如果該使用者所屬的群組不存在,則得(1)先新增群組;
然后(2)再新增使用者賬號。當然,如果要刪除群組時,則必須要反過來,先刪除使用者才能刪除群組!這點請大家留意啰!
更詳細的教程請訪問 鳥哥的linux私房菜 http://u2l.info/3iltdg
新聞熱點
疑難解答