管理員 root,0
普通用戶 1-65535
系統用戶 1-499(centos6), 1-999(centos7)
登錄用戶 500(centos6)+, 1000(centos7)+
echo centos | passwd --stdin alice 標准輸入設置密碼
echo centos | passwd --stdin aaa &> /dev/null 改密碼
echo user1:centos | chpasswd 改密碼
touch /etc/nologin 維護系統禁止登錄
touch /run/nologin
/etc/passwd 用戶及屬性
/etc/group 組及屬性
/etc/shadow 用戶密碼及屬性
/etc/gshadow 組密碼及屬性
/etc/login.defs 設置帳號默認配置
etc/shadow 配置優先級高於 /etc/login.defs 以/etc/shadow裡的設置為准
getent passwd USER
getent shadow USER
pwunconv 關閉用戶投影密碼,把密碼從shadow重回存到passwd
pwconv 開啟用戶投影密碼
/etc/passwd
username:x:uid:gid:comment:homedir:shell
/etc/shadow
username:password:password change time:min:max:warn:inactive:account expire::
chage -d0 user 迫使用戶改密碼
passwd -e user 迫使用戶改密碼
/etc/grourp
groupname:x:gid:groupmember
/etc/gshadow
groupname:password:group admin list:groupmember
$1 是md5算法
$6 是sha512算法
/etc/shadow的配置優先級高於/etc/login.defs
cat /etc/login.defs
UID_MIN 1000
UID_MAX 60000
GID_MIN 1000
GID_MAX 60000
PASS_MAX_DAYS 99999 用戶的密碼不過期最多的天數
PASS_MIN_DAYS 3 用戶的密碼不過期最多的天數
PASS_MIN_LEN 5 密碼最小長度
PASS_WARN_AGE 7
vipw 編輯密碼文件
vigr 編輯組密碼文件
pwck 檢查密碼文件
grpck檢查組密碼文件
useradd 新建單個用戶
useradd -u UID: [UID_MIN,UID_MAX]定義在/etc/login.defs
useradd -o 配合-u, 不檢查UID唯一性
useradd -g GID 指明所屬基本組
useradd -c "COMMANT" 用戶注釋
useradd -d HOME_DIR 以指定路徑(不存在)為家目錄
useradd -s SHELL 指明shell,可用列表在/etc/shells中
useradd -G G1[,G2,...]指定附加組,組必須存在
useradd -N 不創建私用組做主組, 用users組做主組
useradd -r 創建系統用戶 centos 6小於500, centos7小於1000
useradd 默認值保存在 /etc/default/useradd
useradd -D
useradd -D -s SHELL
/etc/skel/*
/etc/login.defs
newusers passwd批量新建用戶
chpasswd 批量修改用戶密碼
usermod [OPTION] login
usermod -u UID 新UID
usermod -g GID 新基本組
usermod -G Group1[,GROUP2,...[GROUP]]: 新附加組, 原附加組被覆蓋,
usermod -aG 不覆蓋原附加組, append
usermod -s SHELL 新的默認SHELL
usermod -c 'COMMENT' 新的注釋信息
usermod -d HOME 新家目錄不會自動創建, 原家目錄文件不同時移到新家目錄
usermod -dm 建新家目錄並移動原家數據
usermod -l login_name 新名
usermod -L lock指定用戶,在/etc/shadow密碼欄加!
usermod -U unlock指定用戶, 在/etc/shadow密碼欄減!
usermod -e YYYY-MM-DD 指明用戶帳號過期日期
usermod -f INACTIVE 設定非活動期限
userdel [OPTION]..login
userdel -r 刪除用戶家目錄
id [OPTION]...[USER]
id -u UID
id -g GID
id -G Groups
id -n Name
su UserName 非登錄式切換, 不讀取目標用戶配置文件, 不改變當前工作目錄
su -UserName 登錄式切換, 讀取目標用戶配置文件, 切換到家目錄, 完全切換
su [-] UserName -c 'COMMAND' 換身份執行命令
su -l UserName 相當於 su -UserName l=login
passwd
passwd -l 鎖定指定用戶
passwd -u 解鎖指定用戶
passwd -e 強制下次登錄改密碼
passwd -n mindays 最短使用期限
passwd -x maxdays 最長使用期限
passwd -w warndays 提前多少天警告
passwd -i inactivedays 非活動期限
passwd --stdin 從標准輸入接收密碼 echo "PASSWORD"|passwd --stdin USERNAME
chage
chage -d LAST_DAY
chage -E --expiredate EXPIRE_DATE
chage -I --inactive INACTIVE
chage -m --mindays MIN_DAYS
chage -M --maxdays MAX_DAYS
chage -W --warndays WARN_DAYS
chage -l 顯示密碼策略
chage -d 0 tom 下次登錄強制重設密碼
chage -m 0 -M 42 -W 14 -I 7 tom
chage -E 2016-09-10 tom
chfn 指定個人信息
chsh 指定shell
finger -l 顯示用戶信息
groupadd -g GID [GID_MIN,GID_MAX]
groupadd -r 建系統組
groupmod -n group_name 新名字
groupmod -g GID 新GID
groupdel GROUP
gpasswd -a user GROUP 添加user到指定組
gpasswd -d user GROUP 移除user從指定組
gpasswd -A user1,user2... 設置有管理權限的用戶列表
newgrp 臨時切換基本組, 非本組成員需組密碼
groupmems -g --group groupname 改為指定組(僅root)
groupmems -a --add username 加入組用戶
groupmems -d --delete username 刪除組用戶
groupmems -p --purge 清除組內所有用戶
groupmems -l --list 顯示組成員列表
groups [OPTION].[USERNAME] 查看用戶所屬組列表
groupadd -g GID GROUP1 新建組
groupmod -n GROUP1 -g GID OLDGROUP1 改組名和組ID
usermod -g GROUP1 USER 改主組
getent group GROUP1 查看輔助組成員
getent passwd USER1 查看所屬主組
usermod -aG GROUP1 USER1 加附屬組
groupmems -g GROUP1 -a USER1 加附屬組
groupmens -g GROUP1 -l 查看組成員
groups USER 查看用戶所屬組
gpasswd -a USER GROUP 新增用戶到組
gpasswd -d USER GROUP 刪除用戶從組
gpasswd -A USER GROUP 指定組管理員
cat /etc/gshadow 查看組管理員
vim /etc/gshadwo 刪除組管理員