普通用户添加 sudo 权限

添加新用户

我们在 Linux 系统中经常需要根据不同的需求创建对应的新用户,但是新用户作为一个普通用户,权限是非常有限的,默认不能够使用管理员权限执行某些管理员才能执行的命令 , 给大家演示一下操作步骤:

# 添加新用户 sanji
[root@VM-8-14-centos ~]# adduser sanji

# 给新用户 sanji 设置一个密码
[root@VM-8-14-centos ~]# passwd sanji
Changing password for user sanji.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

# 切换到 sanji 用户
[root@VM-8-14-centos ~]# su - sanji

# 让 sanji 用户执行一个只有管理员才有权限执行的操作, 因此需要在命令前加 sudo
[sanji@VM-8-14-centos ~]$ sudo updatedb

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for sanji: 
sanji is not in the sudoers file.  This incident will be reported.

最后命令还是没能够执行,原因是没有权限,最后提示告诉我们 sanji is not in the sudoers file, 因此我们只需要将用户 sanji 添加到这个文件中就可以了,说干就干。

添加sudo权限

这个叫做 sudoers 的文件位于 /etc 目录下,我们先切换到 /etc 目录,然后查看一下这个文件的详细信息

$ cd /etc/
$  ll sudoers
-r-------- 1 root root 4382 Jan 21 23:16 sudoers

我们惊奇的发现这个文件的所有者 root 对它也只有读权限,默认是不能修改的,作为 root 以外的其他用户对它没有任何的操作权限。
解决方案:
先切换到 root 用户
在 root 用户下修改这个文件属性,给其添加写权限
修改文件内容,把普通用户 sanji 添加进去,保存退出
将文件权限修改为原来的 400 (r--------)
切换到用户 sanji, 这时候就可以使用 sudo 了,权限添加成功

# 1. 切换到root用户
$ su root
Password: 		# 输入root用户的密码

# 2. 修改文件权限, 暴力一点没有关系, 反正还需要改回去, 直接 777 就行
$ chmod 777 sudoers

# 3. 使用 vim 打开这个文件
$ vim sudoers

# 4. 在文件中找到这一行, 在文件偏尾部的位置
root    ALL=(ALL)       ALL

# 5. 照葫芦画瓢, 在下边新添加一行内容如下:
root    ALL=(ALL)       ALL           # 原来的内容
sanji    ALL=(ALL)       ALL          # 新添加的行, 将用户名指定为 sanji 即可

# 6. 保存退出 (先按esc, 然后输入 :wq)
# 7. 将文件改回原来的权限
$ chmod 400 sudoers

恭喜,权限设置成功,你的普通的用户可以使用 sudo 执行只有管理员才能操作的命令啦。
转载于 作者: 苏丙榅
链接: https://subingwen.cn/linux/sudoers/#2-%E6%B7%BB%E5%8A%A0sudo%E6%9D%83%E9%99%90

你可能感兴趣的:(linux,vim,linux,编辑器)