区别
i)su用于用户之间的切换.
ii)sudo用于普通用户可以使用root权限来执行指定命令.
一、su
介绍
su用于用户之间的切换。但是前面的用户依然保持在登录状态。这种切换如果超级权限用户root向普通或虚拟用户切换不需要密码,而普通用户切换到其它任何用户都需要密码验证。
用法
su (参数) - ,表示默认切换到root用户,并且改变到root用户的环境;
不足
i)不安全,超级用户root密码应该掌握在少数用户手中,su只适用于一两个人参与管理的系统,因为普通用户使用su也要知道root的密码,这样就不利于系统的管理与维护。
ii)如果某个用户需要使用root权限,则必须把root密码告知此用户。
二、sudo
介绍
是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利,但并没有改变root登录环境。只需输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers文件中有配置项、才具有使用sudo的权利
配置方法参见博客:linux临时提升管理员权限(sudo方法)
用法
sudo(选项)(参数)
优点
针对单个命令授予临时权限。sudo仅在需要时授予用户权限,减少了用户因为错误执行命令损坏系统的可能性。sudo也可以用来以其他用户身份执行命令。