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就可以了)