1、Linux 用戶
操作系統不是根據用戶名來區分用戶,而是通過ID來區分用戶
[root@localhost ~]# id 當前的root用戶下的id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
管理員root賬戶 默認UID=0
RH 7 普通用戶是UID從1000 開始分配
(1)用戶的uid保存在和用戶賬戶信息: /etc/passwd 文件中
cat /etc/passwd |grep student
student:x:1000:1000:student user:/home/student:/bin/bash
student 表示用戶名
x 表示是否認證
1000 表示UID(所在有用戶的編號)
1000 表示GID(所在組的編號)
student user 表示用戶的描述信息
/home/student 表示用戶所在的家目錄
/bin/bash 表示shell環境
(2)用戶的密碼文件: /etc/shadow 文件中
cat /etc/shadow |grep student
student:$1$4UVn2bIM$M1jcd8dukZVvScgV4r0py.:17588:0:99999:7:::
student 表示用戶名
17588 表示密碼創建的天數(從1970.1.1 算起)
0 表示是最小有效期
99999 表示最大有效期
7 表示過期前7天提醒
2、Linux組
多個用戶的一個集合 組的信息保存在 /etc/group
cat /etc/group |grep student student:x:1000:
組分爲兩種類型:
主要組
每一個用戶都有一個主要組
本地用戶的主組用GID表示,可以/etc/passwd文件當中看見用戶的主組
通常情況下,用戶創建文件的屬組是由主組所有;
通常情況下,創建一個用戶時,用戶的UID和GID相同
創建用戶時,系統會創建一個相同名字的主組
用戶不能從主組中被刪除
附加組
用戶可能是零個或者多個附加組成員
用戶可以被附加組刪除
一個用戶可以屬於多個附加組,但是隻能屬於一個主組
查看附加組的信息,可以在/etc/group 中查看
附加組有助於用戶訪問系統上的其它資源
root 超級管理員
安裝軟件\刪除軟件\創建用戶... 必須有管理員權限
(1) su - 切換用戶
- 用於切換用戶環境
su root /home/student 切換用戶,不切換目錄
pwd
su -roor /root 切換用戶同時切換目錄
pwd
sudo 提升用戶權限
允許管理員讓普通用戶執行一些或者全部的root命令的工具;
[student@localhost ~]$ sudo useradd user1 使用student 用戶創建user1用戶
默認情況下,要想使用student 用戶創建user1用戶需要先必須先設置授權;
sudo 授權方式:
visudo (管理員 纔可以s使用visudo)
[root@localhost ~]# visudo
## Allows people in group wheel to run all commands
#%wheel ALL=(ALL) ALL
student ALL=/usr/sbin/useradd 添加useradd權限給student
[root@localhost ~]# which useradd 查找useradd的路徑
[student@localhost ~]$ sudo -l 查看sudo 授權
[sudo] password for student:
Matching Defaults entries for student on this host:
requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User student may run the following commands on this host:
(root) /sbin/useradd
2)vim /etc/sudoers
sudo useradd user1
sudo 的密碼有效期默認爲5分鐘
sudo -k 將緩存清空
3、管理本地用戶和組
useradd 新建用戶
-c 指定備註信息
-d 指定家目錄
-e 指定賬戶的失效日期
-g 指定主組ID
-G 指定附加組ID
-m 創建家目錄(默認創建)
-M 不創建家目錄 一般情況下M和s一起用
-s 指定用戶的shell
-u 指定UID
useradd -c “this usesr is not root” user3 用戶描述信息”this user is not root”
passwd user3 創建用戶以後,必須要爲用戶創建密碼
useradd -d /user4/ user4 指定user4的家目錄
每創建一個用戶,會將/etc/skel 中的內容複製一份到家目錄中 /etc/skel 家目錄的模板
useradd -u 2000 user7 指定user7 的 UID
id user6 id user7 id user8
useradd -e 20161231 user9 指定user9的賬戶失效日期
cat /etc/passwd
tail /etc/shadow 密碼的失效日期
useradd -g 2000 user10 前提是主組存在,指定主組
useradd -G 2000 user11 提前是附加組存在,指定附加組
cat /etc/group 附加組可以查看
useradd -Ms /sbin/nologin user12
(2)usermode 修改用戶
-g 修改主組ID
-G 修改附加組ID
-d 修改用戶家目錄
-m 移動家目錄到新的額目錄,m和d合用
-s 修改shell
-l 修改登錄名
-L 鎖定
-u 修改UID
-U 解鎖
usermod -g 2000 user12 主組必須存在,修改主組
usermod -u 2006 user12
usermod -G 2000 user12
usermod -md /home/user6 user6
usermod -s /sbin/nologin u1
tail -l /etc/passwd
usermod -l user11 u1
vim /etc/passwd 可以通過直接修改passwd的配置文件,來修改user
usermod -L user1
usermod -U user1
(3) userdel 刪除用戶信息
-r 刪除用戶的所有信息,包括家目錄以及郵箱
-z 刪除所有的SELinux用戶映射
userdel -r u1
userdel -r user10
(4)用戶的默認策略
/etc/login..defs
每創建一個用戶,用戶的賬戶策略使用/ettc/login.defs。
以後每創建的新用戶所有策略會被此文件設備策略
chage 更改用戶策略的方式
chage
-d 表示最後更改日期,通常-d 0 表示下次登錄式必須修改密碼
-m 表示最小使用天數
-M 表示最大使用天數
-W 表示警告的天數
-I 表示設置失效的時間
-l 查看用戶的策略信息
-E 設置賬號過期時間
chage -l user3
chage -m 3 user3
chage -M 30 user3
chage -W 5 user3
chage -I 10 user3
chage -E 60day user3 賬戶過期時間
date -d +60day
chage -d 0 user1
(6)管理本地組賬戶
groupadd gl
-g 指定組ID
group -g 8000 u2
gpasswd 用於添加組成員
-a 添加一個用戶到組
-d 從組中刪除一個用戶
-m 添加多個用戶到組
-M 添加用戶到組,替換
-g2 刪除組
usermod -G g1 user1
gpasswd -a user3 g1
groupmod -g 2007