linux的用戶管理
linux支持多個用戶同時使用同一個用戶登陸系統,windows在修改組策略的情況下,也可以多個人使用同一個用戶登陸。
遠程連接Linux的方式:ssh
遠程連接windows的方式:RDP
查看系統中的用戶
[root@gong ~]# id
# id,查看當前登錄的用戶信息
-u 查看用戶uid
-g 查看用戶gid
-G 查看用戶所屬組id
[root@gong ~]# id -u gong01
[root@gong ~]# id -g gong01
[root@gong ~]# id -G gong01
用戶相關的配置文件
用戶配置文件-passwd
/etc/passwd
[gong@oldboy ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
root 用戶名
x 密碼占位符
0 uid
0 gid
roor 注釋信息
/root 用戶家目錄
/bin/bash 用戶使用的解釋器
用戶密碼配置文件-passwd
/etc/shadow
[root@oldboy ~]# cat /etc/shadow
gong:$6$BCVy.L6s$BXID8pfq7FqQITZrhj5W6Fpfl7SERqLzn0OAOGoPULnN/lXarLzC2nvnSkjyUM3TiKfY2mIMByGi4/Mu5/TwT0:18351:0:99999:7:::
第一列 用戶名
第二列 !! 沒有密碼,表示密碼
第三列 18351從1970年開始數的第多少天,上一次修改密碼的時間從1970到現在有多少天。
第四列 密碼最小使用天數 0表示無限制
第五列 密碼過期天數,99999天
第六列 密碼過期前七天提示 7
第七列 密碼過期后n天強制修改密碼
第八列 賬戶失效時間,從1970年開始計算
第九列 保留
用戶的分類(約定、規范)
用戶UID | 系統含義 |
---|---|
0 | 超級用戶,擁有系統的最高權限 |
1-200 | 系統用戶,系統分配給系統程序使用,不需要登陸系統 |
201-999 | 系統用戶,用來運行服務,不需要登陸系統的 |
1000+ | 普通用戶 |
注意: 在CentOS
用戶相關的命令
增
useradd
adduser
useradd [options] [用戶名]
默認情況下,創建用戶的時候會創建以用戶名相同的組,並把用戶加入里面
-u 指定uid
-g 指定gid,也可以指定屬組
-G 指定屬組,附加組;如果加入多個附加組則用','分開
-M 不創建家目錄
-s 指定登陸的shell
-c 注釋
-d 指定家目錄
-r 創建一個uid范圍是201-999的系統用戶,不創建家目錄。
-p 在創建的時候指定密碼
刪
userdel
Usage: userdel [options] 用戶名
默認情況下,在刪除用戶的時候同時會把同名的用戶組也刪除,但是如果組內有其它用戶,則不會刪除組,只刪除用戶。
-r 刪除用戶的同時,刪除用戶的家目錄,和用戶的其它郵件目錄 (刪干凈)
改
usermod
Usage: usermod [options] username
-u 修改uid
-g 修改gid
-G 修改附加組
-a 配合-G,在修改附加組的時候,起到追加效果
-m 修改(遷移)家目錄,必須配合-d使用
-d 指定修改后的家目錄
-s 修改登陸的shell
-c 修改注釋
-l 修改登陸的用戶名
-L 鎖定用戶
-U 解鎖用戶
查
id
whoami
用戶的擴展知識
[root@gong ~]# grep -vE '^#|^$' /etc/login.defs
MAIL_DIR /var/spool/mail # 指定創建用戶后的郵件文件存放位置
PASS_MAX_DAYS 99999 # 密碼最長天數
PASS_MIN_DAYS 0 # 密碼最小天數
# 密碼最小長度
PASS_MIN_LEN 5
# 密碼過期前七天提示
PASS_WARN_AGE 7
# 普通用戶的uid最小值
UID_MIN 1000
# 普通用戶的uid最大值
UID_MAX 60000
# 使用-r 創建用戶的最小uid
SYS_UID_MIN 201
# 使用-r 創建用戶的最小uid
SYS_UID_MAX 999
# 創建組的最小uid
GID_MIN 1000
# 創建組的最大uid
GID_MAX 60000
# 使用-r 創建組的最小uid
SYS_GID_MIN 201
# 使用-r 創建組的最小uid
SYS_GID_MAX 999
默認是否創建家目錄
CREATE_HOME yes
# 創建家目錄時的默認權限700
UMASK 077
# userdel刪除的時候是否刪除對應組
USERGROUPS_ENAB yes
# 用戶密碼的加密算法
ENCRYPT_METHOD SHA512
[root@oldboy ~]# ll /etc/default/useradd
-rw-r--r--. 1 root root 119 Oct 30 2018 /etc/default/useradd
[root@oldboy ~]# cat /etc/default/useradd
# 當/etc/login.defs 中的USERGROUPS_ENAB為no的時候在此處控制。
GROUP=100
# 默認的普通用戶家目錄
HOME=/home
# 是否啟用賬號過期停權 -1 為停用
INACTIVE=-1
# 賬號終止日期,未設置
EXPIRE=
# 創建用戶時候默認的shell
SHELL=/bin/bash
# 創建時復制里面的內容,用戶誤刪家目錄的環境變量時,可以復制里面的內容
SKEL=/etc/skel
# 創建用戶時是否創建郵件文件
CREATE_MAIL_SPOOL=yes
用戶的密碼管理
passwd
# 創建密碼的規范
- 密碼的長度最好大於10個字符
- 密碼包含大小寫字母,及特殊字符 ! @ #
- 不規則性 (不要出現自己的名字、公司名稱、電話、等簡單的密碼)
[root@oldboy ~]# passwd --help
Usage: passwd [OPTION...] <accountName>
# 給當前用戶更改密碼
[root@oldboy ~]# passwd
# 給test01更改密碼
[root@oldboy ~]# passwd test01
# 使用非交互式更改密碼
[root@oldboy ~]# echo 123 |passwd --stdin test01
# md5su加密,並做校驗
echo $RANDOM|md5sum
# tee 在終端輸出並且追加到文件
echo 123|tee a.txt
# 密碼管理命令
yum -y install expect
usage: mkpasswd [args] [user]
where arguments are:
-l # (length of password, default = 9)
-d # (min # of digits, default = 2)
-c # (min # of lowercase chars, default = 2)
-C # (min # of uppercase chars, default = 2)
-s # (min # of special chars, default = 1)
mkpasswd
-l 密碼長度
-d 數字
-c 小寫字母
-C 大寫字母
-s 特殊字符