基本安全措施:①将非登录用户的shell设为/sbin/nologin
命令chsh 交互式修改,后面直接输用户名修改登录状态。或者用vim 打开/etc/passwd进行修改
②锁定长期不使用的账号
passwd -l锁定账号 passwd -S查看账号锁定状态 passwd -u解锁
③删除无用的账号
userdel 【-r】用户名
加参数-r递归删除用户
④锁定账号文件/etc/passwd /etc/shadow
锁定chattr +i /etc/passwd /etc/shadow
解锁chattr -i /etc/passwd /etc/shadow
查看lsattr /etc/passwd /etc/shadow
⑤密码安全控制,设置密码有效期
修改某个已存在用户的密码:chage -M 天数 用户名或passwd -x 天数 用户名
设置今后添加用户时的默认密码有效期
vim 编辑/etc/login.defs文件,修改PASS_MAX_DAY后面的数值
要求用户下次登录时修改密码
chage -d 0 用户名
历史命令查看history
history -c 清空历史命令
历史命令默认是一千条,可以在/etc/profile全局变量配置文件里修改HISTSIZE的数值。所有和变量相关的都放在这个文件里。也可以直接用命令export HISTSIZE=数值 注意:export全局生效,仅当前用户环境下生效
切换用户命令su
su 用户名 切换用户,只是新起一个进程,和之前的进程没有关系,之前进程并没有消失,root切普户不用密码,普户切root需要root密码,这种切换方式一般不使用,不规范。
su - 用户名 以普通用户的初始环境进行切换普通用户,这么切换,环境变量会重置成普通用户的环境变量。
su - root -c ls /root意思是临时切换一次root账号的身份,执行后面的命令一次,将结果显示出来,“我”仍旧是普户,需输root密码
由此我们可借鉴得知,由普通用户启动身份的方法是进入到/etc/rc.local个人配置脚本中按照格式su - 普通用户 -c 命令
命令sudo,不让你知道超户的密码,还能让你干超户才能干的活,前提是要在sudo的配置文件/etc/sudoers里进行授权。/etc/sudoers配置文件的安全级别非常高,超户都是只读权限,想去修改sudo的配置文件只能用命令visudo,如果用chmod将它的权限改了,那么整个sudo就不能用了。
总结:sudo申请提权的前提是visudo里要给普户授权了才能申请提权 。如果超户授权了就提权成功,每次申请提权都要输普户自己的密码。
sudo -l 看当前用户有什么权限。按照98行的模板给普户yu授权。第一个ALL是所有ip地址,第二个ALL是所有主机名,一般我们可以不写,第三个ALL是所有命令。如果我们给普户yu授权了所有权限,一般来说root能用的权限yu也都能用。我们也可设置它只能在某个ip或网段登录,或者设定它只能用哪些命令和不能用哪些命令格式/sbin/* , ! /sbin/reboot , ! /sbin/.......先允许它/sbin/的所有都能用,再用逗号隔开,叹号取反后跟不让他使用的命令。先允许,再拒绝,这就是权限授权规则。在工作中,授权要最小化。