用戶及組的介紹
管理員:root, UID號為:0
普通用戶: 1-65535
系統用戶:1-499(centos6),1-1000(centos7)
登錄用戶:500+(centos6), 1000+(centos7)
linux組:
管理員組:root, UID號為:0
普通組:
系統組:1-499(centos6),1-1000(centos7)
普通組:500+(centos6), 1000+(centos7)
linux組的類別
用戶的主要組(primary group) 用戶必須屬於一個且只有一個主組,組名同用戶名 用戶的附加組(supplementary group) 一個用戶可以沒有或有多個附加組
linux 用戶和組的主要配置文件:
/etc/passwd (root:x:0:0:root:/root:/bin/bash)
name:用戶名 password:密碼位,pwconv 密碼被映射到了/etc/shadow uid: gid: gecos:描述位 home: 家目錄 shell: 默認為/bin/bash 如果設置為/sbin/nologin 表示不可以交互式登錄 /etc/shadow (root:$6$4uOWPgUw$kAWs8f8m9EXMbdxLS1:17675:0:99999:7:::) name:用戶名 password:$6$salt$password 密碼上一次的修改時間: 密碼的最小存活期:在這個時間到達之前,不能改密碼 密碼的最大存活期:密碼的過期時間 密碼過期前多少天警告: 密碼過期後多少天觸發帳戶過期: 帳戶過期時間:從1970-1-1開始計算 保留位 chage Options: -d, --lastday LAST_DAY 修改密碼上一次的修改時間 -E, --expiredate EXPIRE_DATE 設置密碼的過期時間 -I, --inactive INACTIVE 設置密碼過期之後多少天觸發帳戶過期 -l, --list 列出信息 -m, --mindays MIN_DAYS 設置密碼的最小存活期 -M, --maxdays MAX_DAYS 設置密碼的最大存活期 -W, --warndays WARN_DAYS 設置密碼過期之前多少天提醒用戶 /etc/group (root:x:0:gentoo) 組名稱 組密碼:x表示 grpconv 組密碼被映射到了/etc/gshadow 組ID 組成員:作為附加組的成員列表,以逗號分隔 /etc/gshadow 組名稱 組密碼 組管理員:以逗號分隔,可以修改組密碼以及修改組成員 組成員:作為附加組的成員列表,以逗號分隔 添加用戶 useradd [options] LOGIN -u UID -o 配合-u 選項,不檢查UID的唯一性 -g GID/GROUP NAME:指明用戶所屬基本組,可為組名,也可以GID -c "COMMENT":用戶的註釋信息 -d HOME_DIR: 以指定的路徑(不存在)為家目錄 確保指定目錄的目錄名要存在,而基名不要存在 -s SHELL: 指明用戶的默認shell程序,默認不指定是為/bin/bash -G GROUP1[,GROUP2,...]:為用戶指明附加組,組須事先存在 -N 不創建私用組做主組,使用users組做主組 -r: 創建系統用戶 CentOS 6: ID<500,CentOS 7: ID<1000 -m 創建家目錄,用於系統用戶 -M 不創建家目錄,用於非系統用戶 手工創建家目錄
mkdir /home/magetest
cp -r /etc/skel/.[^.]* /home/magetest
chown -R magetest.magetest /home/magetest
chmod -R 700 /home/matgtest
添加用戶的默認配置文件 (/etc/default/useradd)
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
修改用戶的相關屬性
usermod [OPTION] login
-u UID: 新UID
-g GID: 新主組
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項
-s SHELL:新的默認SHELL
-c ‘COMMENT‘:新的註釋信息
-d HOME: 新家目錄不會自動創建;若要創建新家目錄並移動原家數據,同時使用-m選項
-l login_name: 新的名字;
-L: lock指定用戶,在/etc/shadow 密碼欄的增加 !
-U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉
-e YYYY-MM-DD: 指明用戶賬號過期日期
-f INACTIVE: 設定非活動期限
刪除用戶及其家目錄
userdel -r 用戶名
passwd [OPTIONS] UserName: 修改指定用戶的密碼,僅root用戶權限
passwd: 修改自己的密碼
常用選項:
-l:鎖定指定用戶
-u:解鎖指定用戶
-e:強制用戶下次登錄修改密碼,相當於chage -d 0
[tom@centos7(mit) ~]$ su - leij
Password:
You are required to change your password immediately (root enforced)
Changing password for leij.
(current) UNIX password:
New password:
Retype new password:
Sorry, passwords do not match.
New password:
Retype new password:
Last login: Sat Jun 2 10:28:51 CST 2018 on pts/0
Last failed login: Sat Jun 2 10:30:48 CST 2018 on pts/0
There was 1 failed login attempt since the last successful login.
--stdin:從標準輸入接收用戶密碼
echo "PASSWORD" | passwd --stdin USERNAME
groupadd
-g GID GNAME
-r GNAME
groupdel GNAME
gpasswd
Options:
-a, --add USER 增加單個用戶到指定組當中(組管理員可執行)
-d, --delete USER 從指定組中刪除單個用戶(組管理員可執行)
-r, --delete-password 將指定組的組密碼刪除(組管理員可執行)
-R, --restrict 限制組成員訪問該組
-M, --members USER,... 一次性設置組成員(僅root執行)
-A, --administrators ADMIN,... 設置組管理列表(root執行)
newgrp groupname
用戶會打開一個子shell,在這個子shell下,該用戶的主要組切換為該組,若該用戶本不屬於該組,則要輸入組密碼,若該組屬於用戶的附加組之一,則無需輸入碼。
groupmems
-g GNAME
-a USERNAME 加用戶加入到指定組
-d USERNAME 把用戶從指定組刪除
-p 清除該組的所有成員
-l 列出組成員列表
groups USERNAME
查看用戶屬於哪些組(包含主要組)
chown 僅root才能執行
USERNAME FILENAME/DIRNAME
所屬人修改文件的權限
-R 遞歸修改
.|: GNAME FILENAME/DIRNAME 修改所屬組
如:chown .tom test 或 chown :tom test
USERNAME.|:GNAME FILENAME/DIRNAME 同時修改文件的所屬人及所屬組
如: chown tom.tom test 或 chown tom:tom test
--reference= FILENAME/DIRNAME 將指定文件的從屬關系設置為與指定文件相同
如: -rw-rw-r--. 1 leij leij 0 Jun 2 10:56 test
-rw-r--r--. 1 root root 0 Jun 2 11:09 testb
chown --reference=testb test
-rw-rw-r--. 1 root root 0 Jun 2 10:56 test
-rw-r--r--. 1 root root 0 Jun 2 11:09 testb
chgrp 僅root和文件的所屬人可以更改文件的所屬組(但所屬人一定要屬於目標組)、
GNAME FILENAME/DIRNAME
-R 遞歸修改
用戶及組的介紹