Linux是個多用戶多任務的分時操做系統,多用戶又從屬於多個用戶組。所以,對linux帳戶和用戶組的管理是一個很重要的任務。linux
linux關於帳戶管理的文件主要有4個,分別是/etc/passwd、 /etc/shadow、 /etc/group、 /etc/gshadow。bash
/etc/passwd:
主要是存儲了用戶的UID、GID等重要參數,其主要結構以下:加密
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
每一行是一個用戶,參數使用:分割,各個參數的含義分別是:spa
- 賬號名稱
- 密碼(因爲密碼使用單獨的文件/etc/shadow管理,因此用x代替)
- UID(帳戶惟一標識碼)
- GID(用戶組惟一標識碼)
- 使用者信息說明欄(用以描述帳戶信息)
- 主文件夾(即~文件夾)
- Shell(使用者登錄系統後就會取得一個 Shell來與系統的核心溝通以進行使用者的操做任務)
/etc/shadow:
主要存儲了密碼信息和更改密碼的一些參數,其結構以下:操作系統
root:AAAAAAAAAAAAAAAAAAAAAAAAAAAAA:17245:0:99999:7:1:2:
daemon:*:17052:0:99999:7:::
bin:*:17052:0:99999:7:::
一樣,每一行是一個帳戶,參數使用:分割,各個參數的含義分別是:code
- 賬號名稱
- 密碼(加密之後的密碼)
- 最近更動密碼的日期(距離1970/01/01的天數)
- 密碼不可被更動的天數(更改密碼後幾天以內不能再次修改)
- 密碼須要從新變動的天數(更改密碼幾天以後須要再次更改)
- 密碼須要變動期限前的警告天數
- 密碼過時後的賬號寬限時間(寬限時間內仍能登錄,可是須要強制更改)
- 賬號失效日期(失效後就須要root來從新設置了)
- 保留
/etc/group:
主要存儲了用戶組基本信息:class
root:x:0:
daemon:x:1:
bin:x:2:
- 羣組名稱
- 羣組密碼(供羣組管理員使用)
- GID
- 此羣組支持的賬號名稱(即屬於這個羣組的用戶,以「,」隔開)
/etc/gshadow:
主要存儲了羣組密碼密碼
root:*::
daemon:*::
bin:*::
- 羣組名稱
- 密碼欄(開頭爲!表示無合法密碼,因此無羣組管理員)
- 羣組管理員的賬號
- 有加入該羣組支持的所屬賬號
接下來就是用戶管理的一些命令:數據
useradd:di
用途:建立一個新用戶或更新默認新用戶信息
用法:useradd [-u UID] [-g 初始羣組] [-G 次要羣組]
經常使用參數:
- -u :後面接的是 UID ,是一組數字。直接指定一個特定的 UID 給這個賬號;
- -g :後面接的那個羣組名稱就是初始化羣組。
- -G :後面接的羣組名稱則是這個賬號還能夠加入的羣組。
- -M :強制!不要建立使用者主文件夾!(系統賬號默認值)
- -m :強制!要建立使用者主文件夾!(通常賬號默認值)
passwd:
用途:更改用戶密碼
用法:passwd [--stdin] [賬號名稱] (接下來輸入兩次密碼)
經常使用參數:
- -l :是 Lock 的意思,會將 /etc/shadow 第二欄最前面加上 ! 使密碼失效;
- -u :與 -l 相對,是 Unlock 的意思!
- -S :列出密碼相關參數,亦即 shadow 文件內的大部分信息。
- -n :後面接天數,shadow 的第 4 字段,多久不可修改密碼天數
- -x :後面接天數,shadow 的第 5 字段,多久內必需要更動密碼
- -w :後面接天數,shadow 的第 6 字段,密碼過時前的警告天數
- -i :後面接「日期」,shadow 的第 7 字段,密碼失效日期
chage:
用途:更改用戶密碼過時信息
用法:chage [-ldEImMW] 賬號名
經常使用參數:
- -l :列出該賬號的詳細密碼參數;
- -d :後面接日期,修改 shadow 第三字段(最近一次更改密碼的日期),格式 YYYY-MM-DD
- -E :後面接日期,修改 shadow 第八字段(賬號失效日),格式 YYYY-MM-DD
- -I :後面接天數,修改 shadow 第七字段(密碼失效日期)
- -m :後面接天數,修改 shadow 第四字段(密碼最短保留天數)
- -M :後面接天數,修改 shadow 第五字段(密碼多久須要進行變動)
- -W :後面接天數,修改 shadow 第六字段(密碼過時前警告日期)
usermod:
用途:修改一個用戶帳戶參數
用法:usermod [-cdegGlsuLU] username
經常使用參數:
- -c :後面接賬號的說明,即 /etc/passwd 第五欄的說明欄,能夠加入一些賬號的說明。
- -d :後面接賬號的主文件夾,即修改 /etc/passwd 的第六欄;
- -e :後面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 內的第八個字段數據
- -f :後面接天數,爲 shadow 的第七字段。
- -g :後面接初始羣組,修改 /etc/passwd 的第四個字段,亦便是 GID 的字段!
- -G :後面接次要羣組,修改這個使用者可以支持的羣組,修改的是 /etc/group
- -a :與 -G 合用,可「增長次要羣組的支持」而非「設置」喔!
- -l :後面接賬號名稱。亦便是修改賬號名稱, /etc/passwd 的第一欄!
- -s :後面接 Shell 的實際文件,例如 /bin/bash 或 /bin/csh 等等。
- -u :後面接 UID 數字啦!即 /etc/passwd 第三欄的數據;
- -L :暫時將使用者的密碼凍結,讓他沒法登錄。其實僅改 /etc/shadow 的密碼欄。
- -U :將 /etc/shadow 密碼欄的 ! 拿掉,解鎖
userdel:
用途:刪除用戶
用法:userdel [-r] username
經常使用參數: