1.su命令用于切换用户

通过su命令可以在不同用户间进行切换,如果是root用户香其他用户切换,则不需要输入密码。而普通用户切换到其它任何用户都需要输入口令。

语法规则

1
2
3
su [option] [user]
-l : 登录并切换到用户环境
-c : 执行一个命令,然后退出所切换到的环境

用法

  • su不加任何参数,默认切换到root用户
  • su加参数-,表示默认切换到root用户,并改变到root用户环境
  • su 参数 -用户

su缺点
需要把root用户的口令泄露给普通用户,带来安全威胁。

2.sudo授权许可使用su

通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授权许可的,所以也被称为授权许可的su;

sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;

比如我们使用普通用户查看etc/shadow文件的内容时,就会报权限不够的问题。这时可以使用sudo more /etc/shadow进行查看。前提是先配置/etc/sudoers文件进行授权。在root用户在使用visodu对/etc/sudoers进行修改。添加如下一行:

1
normal_user ALL=/bin/more

如果是给用户组授权,则需要在用户组名前加上%

1
%group_name ALL=/usr/bin*