2018-10-11
1、ssh禁止root远程登录
修改ssh配置文件/etc/ssh/sshd_config
vim /etc/ssh/sshd_config
PermitRootLogin yes #去掉前面的#并且将yes更改为no
重启ssh
systemctl restart sshd
2、新添加普通用户并授权
创建用户组
groupadd groupname
添加用户并指定用户组
useradd -g groupname username
或者使用默认用户
useradd username
修改用户密码
passwd username
限定用户权限
visudo
最后一行添加
username ALL=(root) /usr/bin/*, !/usr/bin/passwd [A-Za-z]*
注意:ALL=(root)是说su只能切换到root用户, 后面用逗号隔开的是用户的权限,/usr/bin/*表示可以执行基本命令,/usr/local/elasticsearch-2.4.4/*是我自己的elasticsearch的文件路径下所有权限, !/usr/bin/passwd [A-Za-z]*表示不可以修改除了自己的所有用户的密码
3、用户登录N次后,锁定用户,一段时间内禁止用户登录
在#%PAM-1.0的下面,即第二行,添加内容,一定要写在前面,如果写在后面,虽然用户被锁定,但是只要用户输入正确的密码,还是可以登录的!
vim /etc/pam.d/sshd #%PAM-1.0 auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10
各参数解释
even_deny_root 也限制root用户;
deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则
完成之后,即可使用普通用户登录服务器,服务器安全级别相对提升不少