重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
定义上的区别:
成都创新互联公司从2013年创立,先为乌当等服务建站,乌当等地企业,进行企业商务咨询服务。为乌当企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
su为switch user,即切换用户的简写。su是最简单的身份切换名,用su我们能够进行不论什么用户的切换,一般都是su-username,然后输入password就OK了,可是root用su切换到其他身份的时候是不需要输入password的。
sudo是一种权限管理机制,依赖于/etc/sudoers,其定义了授权给哪个用户可以以管理员的身份能够执行什么样的管理命令。
格式上的区别:
su格式有两种:su -l USERNAME、su USERNAME。
sudo格式:sudo -u USERNAME COMMAND。
密码上的区别:
两个命令的最大区别是:sudo命令需要输入当前用户的密码,su命令需要输入root用户的密码。
日志记录上的区别:
尽管sudo命令以目标用户的身份执行命令,但是它们会使用sudoer所配置的用户名来记录是谁执行的命令。而su命令是无法直接跟踪记录用户切换到root用户之后执行了什么操作。
灵活性上的区别:
sudo命令比su命令灵活很多,甚至可以限制sudo用户可以访问哪些命令。换句话来讲,用户通过sudo命令只能访问他们工作需要的命令,而su命令让用户有权限做任何事情。
主要区别如下:
1、内容不同
su命令:用于切换用户,substitute英文含义“代替”的意思。
sudo命令:为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。
2、用法不同
su命令:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变。
sudo命令:查看当前用户可以用sudo执行的命令都有哪些。
3、环境不同
su命令:切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境。
sudo命令:是当前用户切换到root,然后以root身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。
su和sudo各有优点,适当用于预期的用例时,两者都表现不俗。我偏爱用su处理自己的大部分工作,因为它最适合我和我的工作流程。
1、切换root身份不同
su命令:su只是切换了root身份,但shell环境仍然是普通用户的shell;而su-连用户和shell环境一切切换成root身份了。只有切换了shell环境才不会出现PATH环境变量错误,报command not found的错误。
su-命令:su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su-命令切换以后,工作目录变成root的工作目录了。
2、采用su deploy命令后,取目标用户不同
su命令:su不会读取目标用户的环境配置文件。
su-命令:su-读取目标用户的环境配置文件。
3、service命令
su命令:使用su root切换到root用户后,不可以使用service命令;
su-命令:使用su-后,就可以使用service命令了。
4、用echo $PATH命令后,环境量不同
su命令:环境量变为usr。
su-命令:环境量变为oracle。
su的全称并不是super user,而是switch user,是不是就突然明白了?是切换用户的意思。su的一般使用方法是su或者su -,两种方法虽然只差了1个字符,但也是有比较大的差异的。
加入了-参数,就是login-shell的方式,也就是说切换到另一个用户之后,当前的shell会加载对应的环境变量和各种设置;
如果没有加入-参数,就是non-login-shell的方式,也就是说当前的shell还是加载切换之前的那个用户的环境变量以及各种设置。
如果不想因为切换到另一个用户导致自己在当前用户下的设置不可用,那么就可以用non-login-shell的方式;如果切换用户后,需要用到该用户的各种环境变量,那么使用login-shell方式即可。
1、内容不同
su命令:用于切换用户,substitute英文含义“代替”的意思。
sudo命令:为superuser do 的简写,即使用超级用户来执行命令,一般是指root用户。
2、用法不同
su命令:不加用户名默认是切换为root用户,切当前目录不改变,其他环境变量不变。
sudo命令:查看当前用户可以用sudo执行的命令都有哪些。
3、环境不同
su命令:切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境。
sudo命令:是当前用户切换到root,然后以root身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。
su和sudo各有优点,适当用于预期的用例时,两者都表现不俗。我偏爱用su处理自己的大部分工作,因为它最适合我和我的工作流程。