linux极简小知识:Linux/Centos下给普通用户添加只安装管理软件的权限(sudo的用户)- 极简教程
共 2014字,需浏览 5分钟
·
2021-10-01 13:17
使用sudo权限的必要
root用户作为超级管理员一般不会直接在生产中使用。这也是为了安全考虑。
但是,对于比如安装软件、启动某个服务等需求,又不可能永远只有一个root用户来操作。
这就要考虑,如何快速创建一个具有管理员权限的用户(通常不应将root权限全部赋予给任何一个用户,这样就没有了root安全的意义)?
或者,如何将需要的某一个管理员权限授予某个用户呢?下面就用极简单的方式进行介绍实操!
这就要借助编辑 sudoers 文件,使用户执行 sudo xxx
权限提升,执行某个命令。
下面介绍,如何简单的新建一个具有安装软件权限的用户!
以下命令在root用户下执行【sudoers文件应只能由root用户修改】。
4步实现【sudo安装软件的权限】
1. 新建用户
adduser
添加一个名为 root_test1 的用户
adduser root_test1
复制代码
2. 为用户设置密码
执行 passwd <username>
,为用户指定密码。
passwd root_test1
复制代码
加入 sudo 的用户需要有密码
3. 编辑sudoers文件
vim /etc/sudoers
复制代码
或 vi /etc/sudoers
4. sudoers文件中添加内容
sudoers 文件中,找到root ALL=(ALL) ALL
,在当前行下,添加如下内容,使 root_test1 可以执行 yum 和 rpm 命令。
root ALL=(ALL) ALL
# other user
root_test1 ALL=(ALL) /usr/bin/yum, /usr/bin/rpm
复制代码
添加 root_test1 sudo权限的这一行原则上放在文件中任何位置都可以。
为了方便,放在 root 下
测试执行安装命令
测试安装
如下,切换到 root_test1 用户下执行 yum 命令。
可以看到,执行 yum 会提示没有权限;改为 sudo 输入用户自己的密码,即可执行安装。
[root@VM_0_15_centos etc]# su - root_test1
[root_test1@VM_0_15_centos ~]$ yum install axel
Loaded plugins: fastestmirror, langpacks
Repository mariadb is listed more than once in the configuration
You need to be root to perform this command.
[root_test1@VM_0_15_centos ~]$ sudo yum install axel
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 root_test1:
...
...
复制代码
测试无权限执行的命令或文件:
[root_test1@VM_0_15_centos ~]$ sudo vim /etc/sudoers
[sudo] password for root_test1:
Sorry, user root_test1 is not allowed to execute '/bin/vim /etc/sudoers' as root on VM_0_15_centos.
[root_test1@VM_0_15_centos ~]$
复制代码
注意或说明
网上找到的资料,大多数都是直接将和 root 用户相同的超级管理员权限,直接赋给另一个用户。
这样做没有任何实际应用价值(虽然有方便介绍加入sudo权限的理由推脱,但也真正体现了不严谨不专业)。
实际上,只介绍如何给予sudo执行的某一个权限,也是同样的方便简洁。如上面所示。
作者:代码迷途
链接:https://juejin.cn/post/7013162030030913550
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。