su sudo身份切换命令的区别

256 阅读1分钟

以『 su - 』直接将身份变成 root 即可,但是 这个命令却需要 root 的口令

以『 sudo 命令 』运行 root 的命令串,由于 sudo 需要事先配置妥当,且 sudo 需要输入用户自己的口令.

su

  • 切换

su [-lm] [-c 命令] [username]

- :单纯使用 - 如『 su - 』代表使用 login-shell 的变量文件读取方式来登陆系统; 若使用者名称没有加上去,则代表切换为 root 的身份。

-l :与 - 类似,但后面需要加欲切换的使用者账号!也是 login-shell 的方式。 『PATH/USER/MAIL 等变量都转成新用户的环境

-m :-m 与 -p 是一样的,表示『使用目前的环境配置,而不读取新使用者的配置文件

-c :仅进行一次命令,所以 -c 后面可以加上命令喔!

  • 返回原用户

exit

sudo

仅有规范到 /etc/sudoers 内的用户才能够运行 sudo 这个命令

sudo [-b] [-u 新使用者账号]

-b :将后续的命令放到背景中让系统自行运行,而不与目前的 shell 产生影响

-u :后面可以接欲切换的使用者,若无此项则代表切换身份为 root 。

from:第十四章、Linux 账号管理与 ACL 权限配置