Linux中su、su -和sudo的区别

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

su - 切换到root用户,并转到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来查看哪些命令是可以执行或禁止的。

之所以把这三个命令拿出来,是要提醒自己这三个命令是有区别的,在使用时遇到错误就要仔细想一下。

至于怎样配置使用sudo,一般不做服务器管理应该用不到,这里不做详细介绍,需要的时候可以去学习。

 

创建root帐号:在安装系统时,root账户并没有被激活来供你使用,即root帐号被隐藏了,而是通过初始用户与sudo的结合使用来完成一些需要root权限的任务。这样做的好处是防止你不得不使用root来进行一些系统的初级管理,同时完全允许另一个账户来充当超级用户,也保护了你系统的安全方面的缺陷。如果你需要使用root用户来完成一些工作的话,使用以下命令激活root用户:

在终端中输入:sudo passwd root 之后要求你输入两次root用户的密码,重启后就可以登陆root用户了。

退出root权限方法:exit

若想禁用 root 帐号: sudo passwd -l root

posted @ 2018-10-15 14:49  鸟瞰的鸟  阅读(192)  评论(0编辑  收藏  举报