1.注释掉不需要的用户账号
在用户名前面加"#"号
cp /etc/passwd/var/.bak/etc/ //先备份
vim /etc/passwd
在用户名前面加"#",保存退出
cp /etc/group/var/.back/etc/ //备份,修改group
vim /etc/group
不建议直接删除
2.将非登录用户的shell设为/sbin/nologin
usermod -s /sbin/nologin user00 //usermod命令用来修改用户账号的各项设定 -s表示修改用户的shell
tail -2 /etc/passwd //查看一下 tail命令把某个文件的最后几行显示到终端上,tail会自动自己刷新
//确保看到最新的 -2 查看文件后2行,同理head -5查看文件前5行
ps:shell是用户和操作系统之间的中介,外壳程序,也理解为命令解释器,shell就是终端。但是真正的终端是硬件设备。
3.锁定一定时间内不使用的账号
usermod -L user00
tail 查看会发现user00口令字段前加了一个“!”,便无法登录了
4.给账号、组账号、账号口令文件加上不可更改属性(加锁),从而防止非授权用户获得权限
chattr +i /etc/passwd //账号口令文件
lsattr /etc/passwd /etc/shadow //查看文件属性
chattr -i /etc/passwd //解除命令
5.账号口令的安全设置
设置密码有效期与最短长度限制
vim /etc/login.defs //只适用于新建账号
//修改一下设置
PASS_MAX_DAYS 90 //密码使用最长天数改为90天
PASS_MIN_DAYS 0 //密码最短使用天数
PASS_MIN_LEN 8 //密码最短长度改为8,必要情况下改为14
PASS_WARN_AGE 7 //改换口令提醒天数
要求用户下次登录时修改密码
chage -M 30 username //修改已存在账号的密码有效期
chage -d 0 username //强制在下次登录时更改密码
减少记录的命令条数
vim /etc/profile //前面带点的是隐藏文件,需要 ll -a才能显示
//修改
HISTSIZE=50 //将命令条数记录改为50
注销时自动清空历史命令记录
vim ~/.bash_logout
//添加下面两行
history -c
clear //在终端输入这两条命令会清空历史命令记录
终端自动注销
vim ~/.bash_profile //添加下面一行
export TMOUT=600 //闲置600秒后自动注销
6.使用su命令切换用户
su - 目标用户 //substitute user
su //切换到root用户,要输入密码,但是root切换到普通用户不需要密码
exit //退出账户
限制使用su命令的用户
启用pam_wheel认证模块
将允许使用su命令的用户加入wheel组
vim /etc/pam.d/su
//找到下面行,将"#"号删掉
#auth required pam.whell.so use_uid
gpasswd -a username wheel //将用户加入到wheel组中
7.使用sudo机制提升权限
用途:以其他用户身份执行授权命令
初次执行Sudo命令时,验证当前用户的密码
不需要验证目标用户的密码
[root@localhost] sudo -u username touch /tmp/a.txt //root以username的身份创建a.txt文件
配置sudo授权:
visudo或者 vim /etc/sudoers
记录格式:用户 主机名列表=命令程序列表