一、儲存使用者資訊的檔案
1 /etc/passwd
一共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 <==以自己的設定建立賬号
這個指令影響/使用的檔案可多了呢,都有以下這些:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
/etc/skel
/etc/default/useradd
/etc/login.defs
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
賬戶名 上次密碼修改日期 密碼不可被更改的天數 密碼需要被變更的天數 密碼需要被變更前的警告期限 賬号失效期限 8 賬号取消日期 設為<1970到系統目前日期的數字時,表示賬号已經取消,則該不能使用。 9 保留
三、儲存群組資訊的檔案
1. /etc/group
這個檔案可以讓你直接将賬号所要支援的群組加進來!例如你有一個賬号名稱為 myaccount ,你想要讓這個賬号可以支援 root 這個群組,則你可以直接在 /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
組名
群組密碼
群組 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)再新增使用者賬号。當然,如果要删除群組時,則必須要反過來,先删除使用者才能删除群組!這點請大家留意啰!
開始做,堅持做,重複做