----将非登录用户的Shell设为/sbin/nologin(禁止用户登录)-----
usermod -S /sbin/nologin 用户名
------锁定长期不使用的账号-----
usermod -L 用户名
passwd -l 用户名
passwd -S 用户名
-----删除无用的账号-----
userdel [-r] 用户名
----锁定账号文件passwd、shadow----
锁定文件并查看状态
chattr +i /etc/passwd /etc/shadow
lsattr /etc/passwd /etc/shadow
解锁文件
chattr -i /etc/passwd /etc/shadow
-----修改密码配置文件适用于新建用户-----
[root@localhost ~]# vi /etc/login.defs ##修改密码配置文件
......
PASS_MAX_DAYS 30
-------适用于已有用户------
[root@localhost ~]# chage -M 30 lisi ##直接修改有效期
[root@localhost ~]# cat /etc/shadow | grep lisi
[root@localhost ~]# chage -d 0 zhangsan ##强制在下次登录时更改密码
[root@localhost ~]# cat /etc/shadow | grep zhangsan ##shadow文件中的第三个字段被修改为0
[root@localhost ~]# vi /etc/profile
export HISTSIZE=200
[root@localhost ~]# source /etc/profile
[root@localhost ~]# vi ~/.bashrc
echo"" > ~/.bash_history
[root@localhost ~]# vi /etc/profile
......
export TMOUT=600 ##设置注销时间为600秒
[root@localhost ~]# source /etc/profile ##重新加载配置文件
[jerry@localhost ~]$ su - root
##带-选项表示将使用目标用户的登录Shell环境
口令:
[root@localhost ~]# whoami
root
[root@localhost ~]# gpasswd -a tsengyia wheel
tsengyia
正在将用户"tsengyia "加入到"wheel”组中
#在/etc/pam.d/su文件里设置禁止用户使用su命令
[root@localhost ~]# vi /etc/pam.d/su
#%PAM-1.0
auth sufficient pam rootok.so
.........
auth required pam_ wheel.so use_ _uid
.........
gpasswd -a zhangsan wheel ##添加授权用户zhangsan 到wheel组中
groups zhangsan
vim /etc/pam.d/su
auth required pam_ wheel.so use_ uid ##去掉此行开头的注释
启用pam_wheel认证以后,未加入到wheel组内的其他用户将无法使用su命令
PAM的配置文件中的每一行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用。
选项 | 说明 |
---|---|
auth | 对用户身份进行识别,如提示输入密码,判断是否为root |
account | 对账号各项属性进行检查,如是否允许登录系统,账号是否已经过期,是否到达最大用户数等 |
password | 使用用户信息来更新数据,如修改用户密码 |
session | 定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和关闭,挂载文件系统 |
选项 | 说明 |
---|---|
required | 表示需要返回一个成功值,如果返回失败,不会立即将失败结果返回,而是继续进行同类型的下一步验证,所有此类型的模块都执行完成后,再返回失败 |
requisite | 与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败 |
sufficient | 如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值 |
optional | 不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型) |
include | 表示在验证过程中调用其他的 PAM 配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth (主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项 |
required
requisite
sufficient
optional
visudo
或
vi /etc/sudoers(此文件的默认权限为440,保存并退出时必须执行":wq!"命令来强制操作)
用户 | 直接授权指定的用户名,或采用“组名"的形式(权一个组的所有用户) |
---|---|
主机名 | 使用此规则的主机名。没配置过主机名时可用localhost,有配过主机名则用实际的主机名,ALL则代表所有主机 |
(用户) | 用户能够以何种身份来执行命令。此项可省略,缺省时以root用户的身份来运行命令 |
命令程序列表 | 允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号 “,” 进行分隔。ALL则代表系统中的所有命令 |
[root@localhost ~]# visudo
......
%wheel ALL=NOPASSWD: ALL
##表示wheel组成员无需验证密码即可使用sudo执行任何命令
jerry localhost=/sbin/ifconfig
syrianer localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
##通配符"*"表示所有,取反符号"!"表示排除
Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum
mike localhost =PKGTOOLS
使用关键字Ueer_ Alias、 Host_ Alias、Cmnd Alias来进行设置别名( 别名必须为大写)
User_ Alias USERS -Tom, Jerry, Mike
Host_ Alias HOSTS- loca lhos t,bogon
Cmnd_ Alias CMNDS /sbin/i fconfig, /usr/ sbin/useradd, /usr/ sbin/userdel
USERS HOSTS=CMNDS
vi sudo
Defaults logfile = "/var/ log/sudo"
[root@localhost ~]# tail larl/log/sudo
.......
Aug 24 23:59:44 : jerry : TTY=pts/0 ; PWD=/home/jerry ;USER=root ; COMMAND=/sbin/ifconfig
ens33:0 192.168.1.11/24
Aug 25 00:00:46 : syrianer : TTY=pts/1 ; PWD=/home/syrianer ; USER=root ; COMMAND=list
启用日志配置以后,sudo操作过程才会被记录
sudo -l
su - Tom
/sbin/ifconfig ens33:0 192.168.1.11/24.
sudo /sbin/ifconfig ens33:0 192. 168.1.11/24
#初次使用sudo时需验证当前用户的密码,默认超时时长为5分钟,在此期问不再重复验证密码。
sudo -l
#查看当前用户获得哪些sudo授权