标签:安全性 su - pass 使用命令 自动 方式 环境 服务 root用户
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服务,再进行登录时无法登录:
标签:安全性 su - pass 使用命令 自动 方式 环境 服务 root用户
原文地址:https://www.cnblogs.com/w494129131/p/9174880.html