我们知道linux是一个多用户系统,所以我们在使用的时候避免不了使用多个用户的权限,这个时候就需要用户切换。

1.su

su是最简单的身份切换命令,它可以进行任何身份的切换:

su切换截图

su -切换截图

我们发现同样是从juming账户切换到root账户,pwd变量获取到的数据是不同的!

1》su切换用户,读取的变量设置方式为非登录shell的方式,这种方式很多原本的变量不会被修改。

2》su -     会将所有变量都转换到新用户的环境

3》从root用户切换到一般用户时,不需要输入用户的密码

2.sudo

sudo一般是以一般用户的身份执行root用户的功能,但是并不是所有人都能执行sudo,只有符合/etc/sudoers的用户才能执行sudo这个命令:

无权限账号提示错误信息

1》默认情况下只有root可以执行sudo

sudo执行流程:

1》系统检查/etc/sudoers文件中查找该用户是否有执行sudo的权限

2》如果用户拥有权限,让用户输入密码确认

3》密码输入成功,则执行sudo后面接的命令

4》如果用户和执行者身份相同,那么就不用输入密码

1》单一用户使用root命令:

①以root用户身份编辑/etc/sudoers文件

②在文件中找到root ALL=(ALL) ALL

③在这个数据下一行添加:

用户名    ALL=(aLL)     ALL

④接下来上面设置的用户名就可以使用sudo执行root的命令了

添加用户

2》添加用户组:

①以root用户身份编辑/etc/sudoers文件

②找到#%wheel ALL=(ALL) ALL

③去掉这一行前面的#号

④修改用户的用户组usermod,将用户的用户组更改为wheel

⑤接下来加入wheel用户组的用户就可以使用sudo执行root的命令了

添加用户组

3》设置用户无需密码执行:

①以root用户身份编辑/etc/sudoers文件

②找到 # %wheel ALL=(ALL) NOPASSWD: ALL

③去掉这一行前面的#号

修改变成无需密码

4》设置用户可以有限制的执行:

①以root用户身份编辑/etc/sudoers文件

②添加单一用户,并更改最后面的ALL参数:

设置用户有限制执行

1》添加的命令必须使用命令的绝对路径

5》sudo时间间隔:

1》两次sudo操作的时间间隔超过5分钟,那么就需要重新输入一次用户密码。

3.sudo优势:

配置好sudo账号之后一般用户不需要知道root密码就可以执行root的相关命令,可以让root用户更加安全。