LINUX系统学习su、sudo、限制root远程登陆

1、su

su用来切换用户。bash

直接用su test1,发现切换完成后,目录还在/root下,这说明并无彻底切换。要彻底切换,就要这样:服务器

彻底切换,就是在切换时加载用户的环境变量.bash_history,.bash_logout,.bash_profile。ssh

2、sudo

sudo命令的做用是让指定的用户能用别的身份(通常是root)来运行一些指定的命令。spa

配置sudo,使用visudo这个命令。好比咱们如今给test1用户以root的身份运行ls命令,应该这样配置:.net

##Allow root to run any commands anywhererest

root     ALL=(ALL)  ALLget

test1    ALL=(ALL)  NOPASSWD:/bin/ls,/bin/mv,/bin/suit

配置以后能够看到:class

配置完成以后,能够用sudo命令来执行ls进入/root/目录。test

3、限制root用户远程登陆

若是root用户的密码被盗窃了,而你的服务器又没有限制使用密匙登陆,那么就悲剧了。因此,限制root远程登陆仍是有必定的必要性的。那么怎么操做呢?

咱们想想,首先ssh那里应该禁止掉。可是禁止掉那里的话,咱们想用root用户进行一些操做怎么办呢?对,能够用su命令切换过去,可是咱们知道,在切换的时候须要输入密码,而咱们root的密码又不能随便给普通用户。这时候咱们想到了sudo命令,它里面有一个NOPASSWD选项,能够避免咱们输入密码。

如下以test1用户能su到root举例具体配置:

先在root用户下,visudo进行编辑:

[root@localhost ~]# su - test1
上一次登陆:一 11月 1 11:20:07 CST 2017pts/0 上
[test1@localhost ~]$ su -
密码:


^[csu: 鉴定故障
[test1@localhost ~]$ 
[test1@localhost ~]$ 
[test1@localhost ~]$ sudo su -
上一次登陆:一 11月 1 11:27:03 CST 2017pts/0 上
最后一次失败的登陆:一 11月 1 11:28:44 CST 2017pts/0 上
最有一次成功登陆后有 1 次失败的登陆尝试。

这说明visudo的配置已经成功了,如今咱们要关闭ssh配置的root登陆:

修改/etc/ssh/sshd_config:

修改成这样:

#LoginGraceTime 2m
PermitRootLogin no

systemctl restart sshd.service

退出,从新登陆后会报错。

而后换成test1登陆,看是否能su到root:

[test1@localhost ~]$ su root 密码: ^C [test1@localhost ~]$ sudo su - root 上一次登陆:一 11月 1 11:31:11 CST 2017从 192.1.88.1pts/0 上 最后一次失败的登陆:一 11月 1 11:34:38 CST 2017从 192.168.1.88ssh:notty 上 最有一次成功登陆后有 1 次失败的登陆尝试。

相关文章
相关标签/搜索