目录
一、系统账号管理
很多时候我们需要对一些账户进行清理或限制,如禁止登陆,禁止创建新用户等限制
除了 usermod -s /sbin/nologin 用户名 还有一些别的方法
1.1、锁定,解锁账号
usermod -L 用户名 #锁定账号
passwd -l 用户名 #锁定账号
两种方法都可以
passwd -S 用户名 #显示账号状态
被锁住的账户无法登陆,下图表示,会提示didn't work 不再工作
usermod -U 用户名 #解锁账号
passwd -u 用户名 #解锁账号
这样就解锁了,又可以登陆了
1.2、限制创建新用户
chattr +i /etc/passwd /etc/shadow #锁定文件,一个密码配置文件,一个用户配置文件
lsatrr /etc/passwd /etc/shadow #查看文件状态
useradd aaa #创建一个用户测试一下
这里显示无法打开写入东西,chattr这个命令对其他文件也能限制,限制后就不可读不可写
chattr -i /etc/passwd /etc/shadow #解锁文件
创建个用户测试一下
就可以了
二、限制su命令用户
su命令在默认情况下,任何用户都允许使用su命令,,这样会有机会反复尝试其他用户,如root的登陆密码,带来了风险,可以借助pam_wheel认证模块,只允许个别用户使用su命令。
在/etc/pam.d/su
vim /etc/pam.d/su
a)以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。
b)两行都注释也是运行所有用户都能使用su命令,但root'下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码。)
c)如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令
d)如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。
三、sudo机制提升权限
在一个系统中,不可能让每一个用户都拥有root的权限,这样会引发很多安全性问题,sudo命令可以缓解这一方面的问题,它能给予用户一些需要的root权限,但是得由管理员预先授权。
sudo [选项] 命令
-l :列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要在这个命令来查看和测试是不是配置正确的;
-v:验证用户的时间戳;如果用户运行sudo后,输入用户的密码后,在短时间内可以不输入口令来执行sudo操作,用-v可以跟踪最新的时间戳
-u:指定以以某个用户执行特定操作
-k:删除时间戳,下一个sudo命令要求提供密码
除了root和wheel组拥有全部的root权限外,很多时间我们需要进入配置文件,给某些用户添加特定权限
visudo #因为/etc/sudoers文件权限为440,所以需要用专门的visudo工具来进行编辑。也可以使用vi来进行编辑,但是保存时必须执行:“w!”命令来强制操作。
这里我选择vim进行编辑,会有一个更高的可视化效果
需求:这里我们对a用户进行提权,让它可以使用useradd userdel
vim /etc/sudoers
a ALL=(root) /usr/sbin/useradd,PASSWD: /usr/sbin/userdel
#这里给a用户创建和删除用户的权限,命令后面加PASSWD是说明在执行创建用户命令时需要密码,但是删除用户不需要。
su a #切换用户,进行验证
sudo useradd yyy #创建用户
sudo userdel yyy #删除用户