Linux下管理员权限获取(su和sudo的区别)

作者: cheng 发布时间: 2022-10-14 浏览: 1460 次 编辑

我们知道,在Linux下对很多文件进行修改都需要有root(管理员)权限,比如对/ect/profile等文件的修改。很多情况下,我们在进行开发的时候都是使用普通用户进行登录的,尤其在进行一些环境变量的配置工作时,常常需要对一些文件进行修改。那么我们如何获取管理员权限呢?

一般来说,有两种方法。一是:利用su命令切换到root用户,在root用户下对那些文件进行修改,完成相关配置工作。二是:利用su命令切换到root用户,修改/etc/sudoers文件,让普通用户具有sudo权限,然后利用su命令切换回普通用户,在执行相关命令前加上sudo。下面就这两张方法做一下详细介绍。

1、方法一:使用su命令

一般情况下,Linux下root用户默认是没有密码,要利用su命令切换到root用户,需要先利用sudo passwd root命令对root用户设置初始密码,如下图所示:

注意:有些情况下,在输入完sudo passwd root命令之后、修改密码之前,还需要输入该普通用户的密码。

在修改完root用户的密码之后,我们利用su root命令,输入root用户的密码就可以切换到root用户下来了,如下图所示:

在root用户下具有系统所有权限,在对相关文件进行修改之后,我们可以继续利用su guowei命令回到普通用户(guowei)下来,如下图所示:

从root用户切换到普通用户时不需要输入普通用户的密码。

总而言之:su命令的作用就是用来进行切换用户的。

2、方法二:使用sudo命令

在执行命令前加上sudo让用户获得管理员权限,首先需要在root用户下,具有管理员权限对/etc/sudoers文件进行修改。

我们需要先利用su命令切换到root用户下,输入visudo -f /etc/sudoers命令进行编辑,如下图所示:

进入文件之后,找到root ALL=(ALL) ALL这条语句所在的地方,将root替换成你想要具有管理员权限的用户名(比如:guowei),在这行语句下面输入guowei ALL=(ALL) ALL,然后进行保存,如下图所示:

简单提示一下,利用vi修改文件内容时,按i进入编辑模式,修改完毕之后,按esc键退出编辑模式之后,按shift键加:键,输入wq进行保存,有些时候需要输入wq!进行强制保存。

在给普通用户管理员权限之后,以后为了修改文件就可以直接在命令前加上sudo即可,如下图所示:

总而言之,sudo命令的作用就是让授权的普通用户能够以管理员权限执行命令。