Linux中susu -和sudo的区别

Posted 胖虎是只mao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中susu -和sudo的区别相关的知识,希望对你有一定的参考价值。

su

su 切换到root用户,但是并没有转到root用户家目录下,即没有改变用户的环境。

su -

su - 切换到root用户,并转到root用户的家目录下,即改变到了root用户的环境。

这个涉及到不同用户下的环境变量的配置。

su和sudo没有切换工作目录和环境变量,只是赋予用户权限,
而su -是真正切换到root登录,工作目录切换到/root,环境变量也同时改变.

sudo

通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码(sudo用的不是root密码,而是当前用户密码),所以sudo相对于权限无限制性的su来说,还是比较安全的,所以sudo也能被称为受限制的su,另外sudo是需要授权许可的,所以也被称为授权许可的su。

sudo执行命令的流程是当前用户切换到root(或其他指定切换到的用户),然后以root(或其他指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。

sudo的配置文件是/etc/sudoers,我们可以用他的专用编辑工具visodu来进行配置,配置好后,可以切换到您授权的用户下,通过sudo -l来查看哪些命令是可以执行或禁止的。

su和sudo的区别

共同点:都是root用户权限;
不同点:su只获得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全获得root的权限和root的工作环境。
sudo:表示获取临时的root权限执行命令。
sudo执行命令的流程:

1、当前用户切换到root(或其他指定切换到的用户),
2、以root(或其他指定的切换到的用户)身份执行命令,
3、执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。

su - root和su root区别

su - root:以root身份登录,then the shell is login shell, .bash_profile and .bashrc will be sourced.

su root/其他命令:与root建立一个连接,通过root执行命令。then only .bashrc will be sourced.
最直接的区别是su目录还是原先用户目录,su - root后目录就变为root用户的主目录

因此,可以在.bashrc修改PATH、php、APACHE、mysql等路径。

以上是关于Linux中susu -和sudo的区别的主要内容,如果未能解决你的问题,请参考以下文章

linux 中如何禁用虚拟网卡?

linux中解压jar包 怎么操作?

在linux内核中读写文件2

如何在 C 中使用 linux 重启功能来关闭 Linux(Ubuntu)系统?

linux shell 中的sleep命令

linux语系