su与sudo
su
全称 switch user。用来切换用户,默认切换到超级用户。需要输入待切换的用户的密码。超级用户切换用户时不用输入密码。
sudo
全称super suser do
将当前用户切换到超级用户下,或切换到指定的用户下,
然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户。
如果既能够对权限实现精确的控制,又能够方便的执行各种命令。
sudo其实是一个软件,需要安装才能使用。
sudo使用配置文件/etc/sudoers对权限进行管理。linux提供了一个命令visudo来编辑此配置文件,确保配置文件语法正确。
配置文件介绍
最常用的配置:
用户 登录的主机=(可以变换的身份) 可以执行的命令
比如:
root ALL=(ALL) ALL
root用户可以在任意主机上切换到任意用户,执行任意命令。
ossadm ALL=(dbuser) NOPASSWORD:ALL
ossadm用户可以在任意主机上,切换到dbuser用户,执行任意命令,并且不用输入密码。
默认是需要输入当前已登陆的用户的密码的。也就是说,这条命令,如果没有NOPASSWORD这个关键字,ossadm切换到dbuser是需要输入ossadm用户本身的密码的。
ossuser ALL=(root) NOPASSWORD:/opt/sudobin2/pkgscript.sh
ossuser可以在任意主机上,切换为root用户,执行/opt/sudobin2/pkgscript.sh命令,并且不用输入密码。
参考: