一.用戶和用戶組
Linux用戶和組的主要配置文件:
/etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)
/etc/group:組及其屬性信息
/etc/shadow:用戶密碼及其相關屬性
/etc/gshadow:組密碼及其相關屬性
1. /etc/passwd文件結構
[zhang@localhost ~]$ grep zhang /etc/passwd zhang:x:500:500:zhang:/home/zhang:/bin/bash
login name:登錄用名(wang)
passwd:密碼(x)
UID:用戶身份編號(1000)
GID:登錄默認所在組編號(1000)
GECOS:用戶全名或註釋
home directory:用戶主目錄(/home/wang)
shell:用戶默認使用shell (/bin/bash)
2./etc/group文件結構
[zhang@localhost ~]$ grep zhang /etc/group zhang:x:500:
羣組名
羣組密碼
GID
3./etc/shadow文件結構
[root@localhost /]# grep zhang /etc/shadow
zhang:$6$Vz/vlzvJ$iZKI7R7/OsdoMxGcn3sL8co2X50p4Nu.HApyLyTI0cdkd5cYNB0jJYJlOoaKUd6QqQf5oI2g48b1MTVGUOm.X1:17011:0:99999:7:::
登錄用名
用戶密碼:一般用sha512加密
從1970年1月1日起到密碼最近一次被更改的時間
密碼再過幾天可以被變更(0表示隨時可被變更)
密碼再過幾天必須被變更(99999表示永不過期)
密碼過期前幾天系統提醒用戶(默認爲一週)
密碼過期幾天後帳號會被鎖定
從1970年1月1日算起,多少天后帳號失效。
4./etc/gshadow
[root@localhost /]# head -3 /etc/gshadow root::: bin:::bin,daemon daemon:::bin,daemon
用戶組名
密碼列,開頭爲!表示無合法密碼,所以無用戶管理員
用戶組管理員的賬號
該用戶組的所屬賬號
二.賬號管理
要實現用戶的管理,要完成以下幾個方面,用戶賬戶的添加/刪除與修改,用戶口令的管理,用戶組的管理.
1.useradd
useradd[options] LOGIN
選項:
-u UID: [UID_MIN, UID_MAX]定義在/etc/login.defs
-o 配合-u 選項,不檢查UID的唯一性
-g GID:指定用戶登錄組的GID或組名
-c "COMMENT":給新用戶添加備註
-d HOME_DIR:指定用戶的家目錄,如果此目錄不存在,則使用-m選項,可以創建家目錄.
-s SHELL: 指明用戶的默認shell程序 可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:指定用戶所屬的附加組,組必須事先存在
-N 不創建私用組做主組,使用users組做主組
-r 創建系統用戶(CentOS 6: ID<500,CentOS 7: ID<1000)
實例:
(1)創建用戶gentoo,附加用戶組爲zhang,默認shell爲/bin/csh,註釋信息爲"GentooDistribution"
[root@localhost /]# useradd -G zhang -s /bin/csh -c "GentooDistribution" gentoo
(2)創建用戶Tom,指定家目錄爲/usr/Tom
[root@centos7 ~]# useradd -d /usr/tom -m tom (目錄不存在可以用-m選項)
userdel
userdel 選項 用戶名
常用選項:
-r:把用戶的主目錄一起刪除
實例:
刪除用戶sam
[root@centos7 ~]# userdel tom [root@centos7 ~]# ls /home/ 123 test zhang zhangx
注意:(刪除/etc/passwd,/etc/shadow,/etc/group的記錄),同時刪除用戶的主目錄
usermod
usermod [ options ] LOGIN
選項:
- a:把用戶追加到某些組中,僅與-G選項一起使用
- c:修改/etc/passwd文件第五段comment
- d:修改用戶的家目錄通常和-m選項一起使用
- e:指定用戶帳號禁用的日期,格式YY-MM-DD
- f:用戶密碼過期多少天后採用就禁用該帳號,0表示密碼已過期就禁用帳號,-1表示禁用此功能,默認值是-1
- g:修改用戶的gid,改組一定存
- G:把用戶追加到某些組中,僅與-a選項一起使用
- l:修改用戶的登錄名稱
- L:鎖定用戶的密碼
- m:修改用戶的家目錄通常和-d選項一起使用
- s:修改用戶的shell
- u:修改用戶的uid,該uid必須唯一
- U:解鎖用戶的密碼,將!去掉
實例
用戶密碼在2016/8/1號失效
[root@centos7 ~]# usermod -e "2016-8-1" sam
把sam修改爲tom
[root@centos7 ~]# usermod -l tom sam
passwd[--stdin]
選項:
-l:是lock的意思,會將?etc/shadow第二列最前面加上!是密碼失效
-u:與l相對,是unlock的意思
-S:列出密碼相關參數,即shadow文件內的大部分信息
-n:後面接天數,shadow的第四字段,多久不可修改密碼
-x:後面接天數,shadow的第五字段,多久內必須要改動密碼
-w:後面接天數,shadow的第6字段,密碼過期前的警告天數
-i:後面接日期,shadow的第七字段,密碼失效日期
實例:
(1)查看tom賬號,並讓它失效
[root@centos7 ~]# passwd -S tom tom PS 2016-07-31 0 99999 7 -1 (Password set, SHA512 crypt.) [root@centos7 ~]# passwd -l tom Locking password for user tom.
(2)使用standard input 新建用戶密碼
[root@centos7 ~]# echo test |passwd --stdin tom Changing password for user tom. passwd: all authentication tokens updated successfully.