su 切换用户
su - USERNAME 使用 login shell 方式切换用户
sudo 以其他用户身份执行命令
visudo 设置需要使用sudo的用户(组)
在用户切换过程中,如果普通用户想要切换成root用户执行命令,使用su命令就需要把root的用户密码告诉普通用户,这样风险就会很高,所以就有了sudo命令,普通用户可以用sudo命令,执行一些只有root用户才能执行的命令,同时又不暴漏密码。
如,用root用户 新建一个user3用户
# useradd user3
执行一个30分钟后关闭linux的命令
# shutdown -h 30
要停止这一项操作,需要用 shutdown -c
命令 取消关机操作
另开一个标签页,输入su - user3
切换到user3用户 ,
用user3 用户,输入 shutdown -c
提示权限不够
那么我们就需要回到上一个标签页的root用户下,
输入 passwd user3
命令,给user3用户设置密码
在输入visudo 命令 回车后,打开一个文件,来到文件的最下端,
输入小写i ,进入插入模式,
在文档最下边输入一下字符:user3 ALL = /sbin/shutdown -c
按esc键 退出编辑模式,输入:q 回车,保存退出。
再来到user3 用户,输入:sudo /sbin/shutdown -c
提示输入user3 密码,输入密码后,命令执行成功,关机被取消。
总结,su 命令,是赋予长期切换用户,sudo是赋予普通用户执行管理员命令