13.su命令 sudo命令 限制root远程连接

孤街醉人 提交于 2019-11-30 07:02:18

6月13日任务

3.7 su命令

3.8 sudo命令

3.9 限制root远程登录

 

 

 

3.7 su命令:

su切换用户 写法为:

su - file (加“-”是为了切换的彻底)

用whoami查看当前用户,也可用id 来查看详细信息

 

su - -c

指定一个身份去执行一些操作,例如:

 

但我们su- 一个没有家目录的用户的时候(也就是useradd -M的一个用户的时候),会发现前缀不一样

是因为没有家目录,我们可以给他建一个家目录,并且把他的用户组和所属组改成他的名字

回到该用户下,但发现还是前缀不一样

是因为家目录下没有配置文件,也就是隐藏文件,我们可以在/etc/skel下找到改配置文件的模板,复制过去

并设置他的用户名和所属组

这样就可以了

 

 

---------------------------------------------------------------------------------------------------------------------------------------

 

3.8 sudo命令:

 

 

 

可以让普通用户临时去执行指定者的身份去执行

通常是给普通用户临时root的身份

 

用visudo可以打开sudo的配置文件,但不要用vi sudo,因为无法检测

后面的ALL代表所有的命令,但是也可以指定一些命令,但是要写绝对路径,以“,”间隔并加空格

在图中这一行的下面写一行,按set nu可看行数

保存退出,如编写错误会再返回后报错,按回车后按e继续编辑

 

然后,就可以以普通用户的身份去执行以设定root的这些的命令了

但是要使用这些命令,写法为:

sudo ls file

 

 

 

因为要输入密码,我们可以使用NOPASSWD来不需输入密码

我们visudo,可以在设置一个用户,在命令的前面写上NOPASSWD

就可以让这个普通用户不需输入密码了

 

 

 

我们在visudo的时候还有其他的用法,例如别名:

我们可以在图中这一行设置别名,

然后我们可在下面的设置里直接说刚设置的这个别名了

出来的效果跟上面我们设置的是一样的

 

 

 

我们也可以设置用户组,方法是一样的

 

---------------------------------------------------------------------------------------------------------------------------------------

 

3.9 限制root远程登录:

 

逻辑是这样的:

我们先把需要远程登录的用户放到sudo列表里去,并给她们设置su这个命令的权限并不需要密码(做法如上)

 

那我们来限制root的远程登录

vi /etc/ssh/sshd_config

找到这一行:

#PermitRootLogin yes 这里去掉注释(#) 把yes改为 no

还需重启一下服务

systemctl restart sshd.service

root远程就登不上了

然后我们用sudo su -file 切换到普通用户就可以了(我们刚才已经把能远程登录的用户放到sudo里面去了,所以可以登录普通用户,我们用普通用户的权限登录root就可以了)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!