添加新用户
我们在 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