系统环境:CentOS 7.4
服务器IP:192.168.8.20
目的:不能用root用户直接登录,使用普通用户管理服务器,然后用sudo提权进行操作。
1、创建管理用户,设置密码
[root@localhost ~]# useradd admin
[root@localhost ~]# echo "www.yangxingzhen.com" |passwd --stdin admin
2、禁止root登录
#编辑/etc/ssh/sshd_config文件
[root@localhost ~]# vim /etc/ssh/sshd_config
#找到PermitRootLogin,把yes改成no即可
#保存退出
3、sudo授权admin管理
#编辑/etc/sudoers文件,添加以下内容
[root@localhost ~]# vim /etc/sudoers
admin ALL=(ALL) ALL
#保存退出
含义:
admin LL=(ALL) ALL
用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
模块 |
含义 |
用户名或群组名 | 表示系统中的那个用户或群组,可以使用 sudo 这个命令。 |
被管理主机的地址 | 用户可以管理指定 IP 地址的服务器。这里如果写 ALL,则代表用户可以管理任何主机;如果写固定 IP,则代表用户可以管理指定的服务器。如果我们在这里写本机的 IP 地址,不代表只允许本机的用户使用指定命令,而是代表指定的用户可以从任何 IP 地址来管理当前服务器。 |
可使用的身份 | 就是把来源用户切换成什么身份使用,(ALL)代表可以切换成任意身份。这个字段可以省略。 |
授权命令 | 表示 root 把什么命令命令授权给用户,换句话说,可以用切换的身份执行什么命令。需要注意的是,此命令必须使用绝对路径写。默认值是 ALL,表示可以执行任何命令。 |
#重启sshd服务
[root@localhost ~]# systemctl restart sshd
4、验证root登录
#使用远程工具xshell连接服务器
#出现以上情况,表示root拒绝登录
5、验证sudo提权
#使用远程工具xshell连接服务器,使用admin用户
#查看root家目录
[admin@localhost ~]$ ls -l /root
#提示权限不够
#试试刚才sudo授权,在执行命令前加入sudo命令,输入密码
[admin@localhost ~]$ sudo ls -l /root
验证成功,sudo授权成功。
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!
广东省深圳市南山区 电信 1F
亲测,写的不错