用户身份切换及限制root远程登录

1. 用户身份切换

1.1 su命令

su命令可以切换用户身份,它的格式是:su 【-】 【用户名】。

用户身份切换及限制root远程登录

当由root切换至普通用户时,是不需要输入密码的,普通用户之前切换则需要输入密码。

可以在不切换到普通用户下,以普通用户的身份去执行命令,如:

用户身份切换及限制root远程登录

1.2 sudo命令

su命令可以切换用户身份,而普通用户也可切换到root身份,这样很容易导致密码泄露,为了更加安全,所以引入了sudo命令,它可以让普通用户执行一些或者全部的root命令的工具。

输入命令‘visudo’,找到第92行(可使用:set nu)来显示行数;

用户身份切换及限制root远程登录

第一个ALL是指网络中的主机,第二个ALL是指目标用户,第三个ALL是指命令名。


输入如图所示,需要注意的是添加的命令需要输入绝对路径;

用户身份切换及限制root远程登录

保存并退出,切换至yu用户下,使用ls命令查看/root目录,然后使用sudo命令查看/root目录;

用户身份切换及限制root远程登录

可以看到当第一次执行sudo命令时,需要输入yu这个用户下的密码,再次执行sudo命令,则不会提示输入密码;

用户身份切换及限制root远程登录

也可以在‘visudo’设置不需要输入密码,输入‘NOPASSWD:’即可;

用户身份切换及限制root远程登录

切换到yuioplv用户下,可直接使用sudo命令,而不用输入密码;

用户身份切换及限制root远程登录

继续回到‘visudo’命令下,找到如下页面,可自定义主机别名、用户别名及命令别名;

用户身份切换及限制root远程登录

新建命令别名;

用户身份切换及限制root远程登录

将新建的别名,代替命令;

用户身份切换及限制root远程登录

保存并退出,切换至yuioplv用户下,使用别名的命令也能正常使用。

用户身份切换及限制root远程登录

前面说过,普通用户切换至root用户需要输入密码,而root用户切换至用户则不需要密码,可以使用‘sudo’命令。

用户身份切换及限制root远程登录

用户身份切换及限制root远程登录

2. 限制root远程登录

输入命令‘vi /etc/ssh/sshd_config’,找到如图所示这一行;

用户身份切换及限制root远程登录

将其修改为:PermitRootLogin no,重启sshd服务(systemctl restart sshd.service);

重新连接提示:

用户身份切换及限制root远程登录

使用密码登录:

用户身份切换及限制root远程登录

通过修改sshd_config内容,即限制了root用户的远程登录。