`

/etc/sudoers配置文件的格式

阅读更多

-------下面文章转载自网络-----------

# User privilege specification
root ALL=(ALL)      ALL      
# Members of the admin group may gain root privileges
%admin ALL=(ALL)     ALL


下面对以上配置做简要说明:
第一项配置的作用,是允许root 用户使用sudo 命令变成系统中任何其它类型的用户。第二个配置规定,管理组中的所有成员都能以
root 的身份执行所有命令。因此,在默认安装的Ubuntu 系统中,要想作为 root 身份来执行命令的话,只要在 sudo 后面跟上欲执行的命令即可。

我们用一个实例来详细解释/etc/sudoers 文件的配置语法,请看下面的例子:

jorge ALL=(root) /usr/bin/find, /bin/rm


上面的第一栏规定它的适用对象:用户或组,就本例来说,它是用户jorge。此外,因为系统中的组和用户可以重名,要想指定该规则的适用对象是组而非用户的话,组对象的名称一定要用百分号%开头。

第二栏指定该规则的适用主机。当我们在多个系统之间部署sudo环境时,这一栏格外有用,这里的ALL代表所有主机。但是,对于桌面系统或不想将sudo部署到多个系统的情况,这一栏就换成相应的主机名。

第三栏的值放在括号内,指出第一栏规定的用户能够以何种身份来执行命令。本例中该值设为root,这意味着用户jorge能够以root用户的身份来运行后面列出的命令。该值也可以设成通配符ALL,jorge便能作为系统中的任何用户来执行列出的命令了。

最后一栏(即/usr/bin/find, /bin/rm)是使用逗号分开的命令表,这些命令能被第一栏规定的用户以第三栏指出的身份来运行它们。本例中,该配置允许jorge作为超级用户运行 /usr/bin/find和 /bin/rm这两个命令。需要指出的是,这里列出的命令一定要使用绝对路径。

进一步:

我们可以利用这些规则为系统创建具体的角色。例如,要让一个组负责帐户管理,你一方面不想让这些用户具备完全的root访问权限,另一方面还得让他们具有增加和删除用户的权利,那么我们可以在系统上创建一个名为accounts的组,然后把那些用户添加到这个组里。之后,再使用visudo /etc/sudoers 添加下列内容: %accounts ALL=(root) /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod

现在好了,accounts组中的任何成员都能运行useradd、userdel和usermod命令了。如果过一段时间后,您发现该角色还需要其他工具,只要在该表的尾部将其添上就行了。这样真是方便极了!

需要注意的是,当我们为用户定义可以运行的命令时,必须使用完整的命令路径。这样做是完全出于安全的考虑,如果我们给出的命令只是简单的userad 而非 /usr/sbin/useradd,那么用户有可能创建一个他自己的脚本,也叫做userad,然后放在它的本地路径中,如此一来他就能够通过这个名为 useradd的本地脚本,作为root来执行任何他想要的命令了。这是相当危险的!

sudo命令的另一个便捷的功能,是它能够指出哪些命令在执行时不需要输入密码。这很有用,尤其是在非交互式脚本中以超级用户的身份来运行某些命令的时候。例如,想要让用户作为超级用户不必输入密码就能执行kill命令,以便用户能立刻杀死一个失控的进程。为此,在命令行前边加上NOPASSWD:属性即可。例如,可以在/etc/sudoers文件中加上下面一行,从而让jorge获得这种权力: jorge ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall

分享到:
评论

相关推荐

    详解Linux下的sudo及其配置文件/etc/sudoers的详细配置

    主要介绍了详解Linux下的sudo及其配置文件/etc/sudoers的详细配置的相关资料,需要的朋友可以参考下

    030101配置用户使用sudo无需密码

    三、/etc/sudoers文件解释 [root@test ~]# cat /etc/sudoers ## Sudoers allows particular users to run various commands as ## the root user, without needing the root password. ##该文件允许特定用户像root...

    ansible-sudoers:控制默认etcsudoers文件和包含的文件目录的配置

    ansible-sudoers:控制默认etcsudoers文件和包含的文件目录的配置

    linux目录架构

    /etc/group 设定用户的组名与相关信息 /etc/passwd 帐号信息 /etc/shadow 密码信息 /etc/sudoers 可以sudo命令的配置文件 /etc/securetty 设定哪些终端可以让root登录 /etc/login....

    Ansible-ansible-sudoers.zip

    Ansible-ansible-sudoers.zip,控制默认/etc/sudoers文件和包含的文件/目录的配置。,ansible是一个简单而强大的自动化引擎。它用于帮助配置管理、应用程序部署和任务自动化。

    ansible-sudoers:在类似Debian的系统中管理sudoers和sudoers.d的角色

    sudoers_sudoers : /etc/sudoers文件声明 sudoers_sudoers.defaults :[默认:请参见defaults/main.yml ]:默认配置选项 sudoers_sudoers.host_aliases :[默认值: [] ]: Host_Alias类型的别名列表 sudoers_...

    dotfiles:我的个性化配置文件,旨在提高(编程)效率

    点文件居住位置:/ home / eddy 点文件位置:/ home / eddy / dotfiles安装om password niet meer te vragen,密码/etc/sudoers : echo " eddy ALL=(ALL) NOPASSWD:ALL " | sudo tee -a /etc/sudoers OM WSL挂载...

    hadoop高可用搭建

    核心文件配置 slave 启动命令(hdfs和yarn的相关命令) HA的切换 效果截图  下面我们给出下载包的链接地址:  zookeeper下载地址  hadoop2.x下载地址 JDK下载地址  注:若JDK无法下载,请到Oracle的官网下载JDK...

    CDH5.11安装文档

    CDH5.11.1安装教程 第一部分:基础软件安装 1.1集群规划 ...将hadoop用户加入sudu配置文件 [root@localhost ~]# chmod u+w /etc/sudoers [root@localhost ~]# vi /etc/sudoers 添加 hadoop ALL=(ALL) ALL

    seliencepuppet#linux#30.sudo命令用法1

    某个用户能够以另外一个用户的身份通过某主机执行某命令输入密码:jerrysudo的配置文件/etc/sudoers这个文件为了避免其它用户去查看改文件,所以改文

    如何在Linux环境为用户添加sudo权限

    sudo默认配置文件是**/etc/sudoers** ,一般使用Linux指定编辑工具visudo ,此工具的好处是可以进行错误检查。在添加规则不符合语法规则时,保存退出时会提示给我们错误信息;配置好后,可以用切换到您授权的普通...

    Linux系统中掩耳盗铃的sudo配置

     很多公司Linux系统都会用到sudo来配置普通用户可以执行的超级用户权限,一是为了系统管理员更安全的操作系统,二是可以为研发人员提供可控的权限范围,下面就看一下我们在系统中常见的sudo配置文件。 代码如下: ...

    Linux用户配置sudo权限(visudo)的方法

    1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 3,若密码输入成功,则开始执行sudo后续的命令 4,root...

    hadoop集群虚拟机环境准备.txt

    vim /etc/hosts在文件后拷贝追加 192.168.1.100 hadoop100 192.168.1.101 hadoop101 192.168.1.102 hadoop102 192.168.1.103 hadoop103 192.168.1.104 hadoop104 192.168.1.105 hadoop105 192.168.1.106 hadoop...

    homebrew-docker-virtualbox:Ryzentosh(基于AMD的Hackintosh)的Docker解决方法

    自制Docker Virtualbox 该公式解决了基于AMD的MacOS(Ryzentosh)上的Docker问题。 也可以在任何Mac上使用。 安装 从Oracle网站安装Virtualbox ...sudo tee /etc/sudoers.d/docker-machine-nfs << SUDOERS

    linux下的greenplum安装

    2. 配置网络, 修改主机名, 防火墙关闭,配置/etc/hosts文件(所有节点) 3. 添加新用户组,新用户(三台节点) groupadd -g 530 gpadmin useradd -g 530 -u 530 -m -d /home/gpadmin gpadmin mkdir /opt/module chown -...

    CentOS7配置有三个结点的Hadoop集群的免密登录总的原则

    3)、用vim /etc/sudoers给hadoop用户分配管理员权限 4)、用su hadoop命令切换到hadoop用户,三个结点都要切换到各自的hadoop用户 5)、用cd ~切换到宿主目录,即/home/Hadoop目录 6)、用ssh-keygen -t rsa生成...

    MHVTL的Web图形用户界面工具

    1)添加目录别名为MHVTL GUI Web服务器的配置文件: 例如: 别名/ mhvtl“的/ var/ www / html等/ mhvtl” <目录“的/ var/ www / html等/ mhvtl”>  选择无  AllowOverride无  为了允许,拒绝  所有允许 </...

    nextcloud-scanner:使用SANE框架的Nextcloud扫描仪应用

    扫描仪-将图像直接扫描到NextCloud 扫描仪是NextCloud应用程序,它增加了从本地或网络可用的扫描仪(通过SANE工具)将图像直接...您可以将此行添加到/ etc / sudoers文件中(将用户更改为运行Web服务器的相应用户):

    Ubuntu权威指南(2/2)

    分成两个分卷进行压缩 ...12.2.5 sources.list配置文件 325 12.3 利用aptitude管理软件包 327 12.3.1 安装软件包 329 12.3.2 系统的升级 330 12.3.3 查询软件包 330 12.3.4 检索软件包 330 12.3.5 删除软件包 ...

Global site tag (gtag.js) - Google Analytics