限制 root 远程登录
限制 root 远程登录
注: 该方法只适用于通过 ssh 远程登录 Linux 的时候。
限制 root 远程登录的方法
/etc/ssh/sshd_config 为 sshd 服务的配置文件,默认允许 root 账户通过 ssh 远程登录 Linux。要想不允许 root 用户远程登录到 Linux,具体方法为: 修改配置文件 vi /etc/ssh/sshd_config, 在文件中查找#PermitRootLogin yes
并修改为PermitRootLogin no
, 即不允许 root 远程登录。保存配置文件后,需要重启 sshd 服务。
#systemctl restart sshd.service //重启sshd服务。
实战
禁止 root 用户远程登录,只允许普通用户登录。普通用户如果想要得到 root 用户的权限,如下详解
- 思路: 在普通用户下,想要得到 root 用户的权限,使用 su 命令时,没有 root 的密码是切换不到 root 用户下的。这时候可以把 su 放到 sudo 命令列表里,之后在普通用户下使用命令 #sudo su -root 就能得到 root 用户的权限了。
实现步骤:
- 在 root 用户下 ,编辑 visudo 为用户添加 Alias
16 ## User Aliases
17 ## These aren't often necessary, as you can use regular groups
18 ## (ie, from files, LDAP, NIS, etc) in this file - just use %groupname
19 ## rather than USERALIAS
20 # User_Alias ADMINS = jsmith, mikem
21 User_Alias AMINGS=user1 //手动添加的。为用户添加Alias
- 设定规则
90 ## Allow root to run any commands anywhere
91 root ALL=(ALL) ALL
92 user1 ALL=(ALL) /usr/bin/ls, /usr/bin/mv, /usr/bin/cat
93 AMINGS ALL=(ALL) NOPASSWD: /usr/bin/su //NOPASSWD代表执行/usr/bin/su的时候不需要输入密码。
-
保存退出
-
切换到 user1 用户下,用 sudo 登录到 root 用户下
[root@localhost ~]# su - user1
上一次登录:三 11月 1 17:03:48 CST 2017pts/0 上
[user1@localhost ~]$ sudo su - root
上一次登录:三 11月 1 18:26:00 CST 2017pts/0 上
[root@localhost ~]# whoami //查看当前用户
root