su、sudo与限制root远程登录操作

来源:互联网 发布:淘宝用户服务协议 编辑:程序博客网 时间:2024/05/29 14:31

一、命令su
语法 : su [-] username

后面可以跟 - 也可以不跟,普通用户su不加username时就是切换到root用户, - 这个字符的作用是,加上后会初始化当前用户的各种环境变量。如下图创建个test账户操作:

如果不加 - 切换到root账户下时,当前目录没有变化,而加上 - 切换到root账户后,当前目录为root账户的家目录,这跟直接登陆root账户是一样的。当用root切换普通用户时,是不需要输入密码的。
这里写图片描述

二、命令 : sudo
使用sudo执行一个root才能执行的命令,普通用户想要使用sudo,是需要root预先设定的,使用 visudo 命令去编辑相关的配置文件/etc/sudoers. 如果没有visudo这个命令,请使用 yum install -y sudo 安装

打开visudo后找到如下选项,添加上test账户,保存退出。
这里写图片描述

由于切换到test账户后的当前目录依旧是在/root 下,test账户没有任何权限,所以 ‘ls’ 的时候提示说权限不够,然而使用 sudo ls 输入test账户自身的密码后就有权限了
这里写图片描述

三、限制root远程登录操作
先打开visudo,先将普通用户加进User_Alias:
这里写图片描述

再去设定一个规则:
这里写图片描述

然后验证就可以直接使用sudo su - 即可直接切换并不用输入密码到root用户。

使用命令 vi /etc/ssh/sshd_config ,并搜索Root,这一行,将#注释去掉,然后将yes改成no:
这里写图片描述

设置好了后要重启一下服务:systemctl restart sshd.service ,然后重新登录就提示不能远程登录了,只能使用普通用户身份去登录后,再命令sudo su - root 到root上操作即可

原创粉丝点击