6.13

1、su命令

  su:切换用户,可以使用“su - username”切换到指定用户下:

  使用“-”是为了彻底切换到指定用户的环境下,如果不加该参数,切换用户后还在原用户家目录下:

  使用-c选项可以在不切换用户的情况下,使用指定用户的身份执行命令:

  在普通用户下也可以执行“su - username”切换到其他用户,当目标用户的家目录不存在时,会显示如下情况:

  可以通过给目标用户创建家目录,将家目录的所有者和所属组修改为指定用户以及属组:

  然后将/etc/skel/下的.bash文件复制到创建的家目录下,并更改所有者和所属组:

  然后再切换到目标用户,此时显示正常:

  普通用户可以执行“su -”切换到root用户:

2、sudo命令

  sudo:让普通用户临时以指定用户的身份来执行命令,通常情况下是普通用户执行root权限的命令,避免将root用户给普通用户使用。

  修改sudu命令时,建议采用visudo,因为使用这种方式打开时,可以自动检测输入的语法是否正确,打开文件后可以看到下图,表示允许root用户中所有的地方执行所有的命令:

  可以模仿这条命令的方式,增加如下内容,user1   ALL(user2)   ALL,表示user1将被赋予user2的权限,后面的ALL指的是被授权的命令,也可以修改为具体的命令,此处的命令需要些绝对路径:

  默认情况下普通用户无法访问/root/目录,但是在编辑过sudo后,执行sudo命令(第一次使用时需要输入用户密码),就可以查看/root/用户:

  在使用visudo编辑sudo时,增加"NOPASSWD:",可以让用户在使用sudo命令时不再输入密码:

  User_Alias:可以将多个真实用户放在一个虚拟用户;

  Cmnd_Alias:将多个命令放在一个命令别名中。

  使用命令别名后,在编辑sudo文件时就可以之间使用上图中定义的命令别名:

  使用visudo编辑sudo文件时,也可以针对用户组做设置

 3、限制root用户远程登录

  为了保障系统的安全性,需要限制root用户通过远程登录,只能通过登录普通用户,然后由普通用户su切换到root用户,在不知道root用户的密码时,需要使用sudo su -root切换到root用户。

  使用visudo编辑sudo文件,增加User_Alias,将需要切换到root用户的普通用户添加进虚拟用户中:

  然后为该用户组赋予执行root用户命令的权限:

  此时普通用户使用“sudo su -”就可以切换到root用户:

  限制root用户远程登录:

  编辑/etc/ssh/sshd_config,通过“/Root”查找到PermitRootLogin这一行,将yes修改为no:

  然后执行systemctl restart sshd.service重启ssh服务,再进行登录时无法登录:

猜你喜欢

转载自www.cnblogs.com/w494129131/p/9174880.html