linux下切换用户:su VS sudo

出于安全考虑,我们平时都是以一般身份的用户来操作系统的日常作业的,但有时会有切换到root用户或者是其他用户的需要,那在linux下该如何切换身份呢?

su 是最简单的身份切换命令,能在任何身份间切换。 

su 和 su -[ l ] :

前者代表以 non-login shell 的变量文件读取方式来登陆系统;

后者代表以 login-shell 的变量文件读取方式来登陆系统。

若不加用户名,代表切换为 root 身份。


su -c: 表示仅使用 root 进行一次命令:
例如:su - -c 'cat /etc/shadow'


单纯以 su 来切换成root用户时,由于是以non-login shell 方式读取变量,所以root下的很多命令只能用绝对路径来执行。


sudo:

su 要输入root的密码,而sudo只需输入自己的密码
且仅有 /etc/sudoers 内的用户才能执行sudo命令


sudo -u: 后面接欲切换的用户,若无此选项代表切换为root
可用来切换身份来执行命令
sudo -u linyan touch cpp

执行sudo的步骤:
1.用户执行sudo时,系统于/etc/sudoers中查找该用户是否有执行sudo的权限
2.若有权限,便让用户输入自己的密码来确认
3.若密码输入成功,便开始执行命令
@:root执行sudo不需要输入密码
@:欲切换的身份与执行者相同,不需要输入密码


你可能感兴趣的:(Linux,su,sudo,linux,切换用户)