1.如何為用戶設(shè)定密碼凭语,有如何修改密碼?
passwd #設(shè)置或修改用戶密碼
passwd 用戶名 #設(shè)置密碼
echo "123" | passwd --stdin + 用戶名 #passwd --stdin 非交互式設(shè)定密碼
批量創(chuàng)建用戶并設(shè)置密碼
[root@zyt ~]#cat zyt.sh
for i in {1..100}
do
useradd zyt$i
echo "123456" | passwd --stdin zyt$i
done
如何設(shè)置出復(fù)雜密碼
[root@zyt ~]# echo $RANDOM | md5sum |cut -c 5-15 2c52fcc14cd
隨機(jī)生成復(fù)雜密碼
[root@zyt ~]# yum install -y expect
mkpasswd生成隨機(jī)字符串, -l設(shè)定密碼長(zhǎng)度,-d數(shù)子,-c小寫字母,-C大寫字母,-s特殊字符
總結(jié)
- 為新用戶添加密碼 只有root權(quán)限才可以
- 為用戶變更密碼也只有root才可以
- 普通用戶只能修改自己的密碼,無法修改其他人的密碼
- 密碼的修改方式有兩種,一種是交互式 非交互
2.用戶的創(chuàng)建流程
- /etc/login.defs 和 /etc/default/useradd 創(chuàng)建用戶默認(rèn)值 配置文件
- 如果在創(chuàng)建用戶時(shí)指定了參數(shù),則會(huì)覆蓋 (默認(rèn) /etc/login.defs 和/etc/default/useradd)
/etc/login.defs 配置文件解釋
MAIL_DIR /var/spool/mail 創(chuàng)建的郵箱所在位置
PASS_MAX_DAYS 99999 密碼最長(zhǎng)使用天數(shù)
PASS_MIN_DAYS 0 密碼最短使用天數(shù)
PASS_MIN_LEN 5 密碼長(zhǎng)度
PASS_WARN_AGE 7 密碼到期前7天警告
UID_MIN 1000 uid 從1000開始
UID_MAX 60000 uid最高到6萬
SYS_UID_MIN 201 系統(tǒng)用戶uid從201開始
SYS_UID_MAX 999 系統(tǒng)用戶uid最大到999
GID_MIN 1000 gid從1000開始
GID_MAX 60000 gid最高到6萬
SYS_GID_MIN 201 系統(tǒng)gid從201開始
SYS_GID_MAX 999 系統(tǒng)gid最高到999
CREATE_HOME yes 給系統(tǒng)創(chuàng)建家目錄薄啥,默認(rèn)在/home
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512
/etc/default/useradd 配置文件解釋
GROUP=100 當(dāng)用戶創(chuàng)建用戶時(shí)不指定組,并 且/etc/login.defs中USERGROUPS_ENAB為no時(shí), 用戶默認(rèn)創(chuàng)建給分 配一個(gè)gid為100的組.
HOME=/home 用戶默認(rèn)的家目錄
INACTIVE=-1 用戶不失效
EXPIRE= 過期時(shí)間
SHELL=/bin/bash 默認(rèn)登錄shell
SKEL=/etc/skel 默認(rèn)用戶拷貝的環(huán)境變量
CREATE_MAIL_SPOOL=yes 創(chuàng)建郵箱
3.用戶組如何管理
用戶組分為私有組辕羽,基本組,附加組
- 私有組:是創(chuàng)建用戶時(shí)默認(rèn)會(huì)創(chuàng)建一個(gè)與用戶名同名的組
- 基本組:-g 指定的一個(gè)基本組垄惧,前提基本組必須先存在
- 附加組:-G指定 基本組或私有組無法滿足需求時(shí)刁愿,添加一個(gè)附加組,繼承改該組的權(quán)限
組信息的配置文件為/etc/group 和 /etc/gshadow
/etc/group 配置文件解釋
root : x : 0 :
以:為分隔符共四列
第一列 組的名稱
第二列 組的密碼
第三列 組GID
第四列 顯示附加組到逊,不顯示基本組
/etc/gshadow 配置文件解釋
root : : :
以:為分隔符共四列
第一列 組的名稱
第二列 組的密碼
第三列 組管理員
第四列 顯示附加組铣口,不顯示基本組
關(guān)于組的命令
groupadd 創(chuàng)建組
-g 指定GID
-r 創(chuàng)建系統(tǒng)組
groupmod 修改組
-g 修改組gid
-n 修改組名稱
groupdel 刪除組(如果刪除基本組,必須先刪除基本組中的用戶才能刪除該組)
4.普通用戶無權(quán)限怎么辦觉壶?切換身份or提權(quán)脑题?
su 切換用戶
- 加-屬于登錄時(shí)shell,不加-屬于非登錄式shell掰曾,區(qū)別是加載的環(huán)境變量不同旭蠕,登錄式shell加載全部的環(huán)境變量,非登錄式shell加載部分環(huán)境變量
sudo 提權(quán)
- 預(yù)先分配好權(quán)限
- 再關(guān)聯(lián)對(duì)應(yīng)的用戶
提升的權(quán)限太大旷坦,能否有辦法限制僅開啟某個(gè)命令的使用權(quán)限掏熬?其他命令不允許?
第一種方法
**1.使用命令visudo進(jìn)入配置文件**
**2.使用sudo定義分組,這個(gè)系統(tǒng)group沒什么關(guān)系**
User_Alias OPS = oldboy,oldgirl
User_Alias DEV = zytt
3.定義可執(zhí)行的命令組,便于后續(xù)調(diào)用
Cmnd_Alias NETWORKING = /sbin/ifconfig, /bin/ping
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /usr/bin/systemctl start
Cmnd_Alias STORAGE = /bin/mount, /bin/umount
Cmnd_Alias DELEGATING = /bin/chown, /bin/chmod, /bin/chgrp
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
4.使用sudo開始分配權(quán)限
OPS ALL=(ALL) NETWORKING,SOFTWARE,SERVICES,STORAGE,DELEGATING,PROCESSES
DEV ALL=(ALL) SOFTWARE,PROCESSES
5.登陸對(duì)應(yīng)的用戶使用 sudo -l 驗(yàn)證權(quán)限
第二種方法
1.添加兩個(gè)真實(shí)的系統(tǒng)組, groupdev groupopt
[root@zyt ~]#groupadd groupdev
[root@zyt ~]#groupadd groupopt
2.添加兩個(gè)用戶, group_dev group_op
[root@zyt ~]#useradd usera -G groupdev
[root@zyt ~]# useradd userb -G groupopt
3.記得添加密碼
[root@zyt ~]# echo "123" | passwd --stdin usera
[root@zyt ~]# echo "123" | passwd --stdin userb
4.在sudo中配置規(guī)則
[root@zyt ~]# visudo
Cmnd_Alias NETWORKING = /sbin/ifconfig, /bin/ping
Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/yum
Cmnd_Alias SERVICES = /sbin/service, /usr/bin/systemctl start
Cmnd_Alias STORAGE = /bin/mount, /bin/umount
Cmnd_Alias DELEGATING = /bin/chown, /bin/chmod, /bin/chgrp
Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
%groupdev ALL=(ALL) SOFTWARE
%groupop ALL=(ALL) SOFTWARE,PROCESSES
5.檢查sudo是否配置有錯(cuò)
[root@zyt ~]# visudo -c
/etc/sudoers: parsed OK
6.登陸對(duì)應(yīng)的用戶使用 sudo -l 驗(yàn)證權(quán)限