linux限制,禁止root用户远程登录,开启普通用户免密切换到root用户

    root用户作为我们linux中的超级管理员,如果root用户被暴力破解密码劫持,这样对我们的业务来说非常不安全,所以在工作中我们一般都是禁止root用户远程登录

思路:
创建一个普通用户,禁止root用户远程登录,只允许普通用户登录,在需要root用户的时候再用su命令切换到root用户,或者也可以用sudo命令来获取root权限执行命令

一、限制root用户远程登录的方法:
打开/etc/ssh/sshd_config文件,找到PermitRootLogin参数,将yes改为no,不同系统版本可能这个PermitRootLogin参数的位置不一样,不过操作是一样的,都是改为no。
vim /etc/ssh/sshd_config
修改前:
在这里插入图片描述
PermitRootLogin参数后面的字段为yes,表示root用户可以远程登录,现在改为no,意思就是root用户不能远程登录,也就是禁止root用户远程登录。

修改完/etc/ssh/sshd_config记得要重启sshd服务,重启服务之后修改的配置才生效
systemctl restart sshd

二、开启普通用户免密切换到root用户
打开/etc/sudoers文件或者直接运行visudo命令,找到%wheel ALL=(ALL) NOPASSWD: ALL这一行
%wheel ALL=(ALL) NOPASSWD: ALL 表示在wheel组中的所有用户都有免密切换用户的权限
所以有三种方法可以使用普通用户拥有免密切换用户的权限
第一种方法:修改普通用户的组为wheel
usermod -g wheel 普通用户

第二种方法:在/etc/sudoers文件里面添加一行
username ALL=(ALL) NOPASSWD: ALL
在这里插入图片描述
第三种方法,虽然也可以,但是建议谨慎使用:
%wheel ALL=(ALL) NOPASSWD: ALL这一行中的wheel改为你的普通用户的所属组名,例如你的用户是test,所属组是test,这时候将wheel改为test,如下图:
在这里插入图片描述
使用以上三种方法中的一种就可以使你的普通用户免密切换到root用户了,命令如下:
sudo su - root

这时候就成功做到使普通用户免密切换到root了,但是有一个问题,如下图:
在这里插入图片描述
看红色方框可以看到实际上还多出两行东西,其实原因很简单,系统已经告诉我们了sudo: /etc/sudo.conf is group writable,就是因为/etc/sudo.conf文件的组权限中有写权限,查看权限如下图:
在这里插入图片描述
解决办法:将/etc/sudo.conf文件中的组权限的写权限去掉就可以了
chmod 440 /etc/sudo.conf

修改权限之后再次登录:
在这里插入图片描述
完美解决!!!

猜你喜欢

转载自blog.csdn.net/weixin_44901564/article/details/108123217
今日推荐