`

/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的详细配置

    本文将深入讲解`sudo`以及其配置文件`/etc/sudoers`的详细配置。 ### 1. `sudo`简介 `sudo`的主要功能是让用户在不需要知道root密码的情况下,临时获取超级用户权限。它不是替代shell,而是对每个命令单独授权。`...

    ubuntu系统中有关sudoers文件访问错误的解决方法

    在Ubuntu系统中,`sudoers`文件是管理sudo权限的核心配置文件,位于`/etc/sudoers`。这个文件定义了哪些用户可以使用sudo命令,以及他们可以执行哪些操作。当`sudoers`文件出现问题,比如权限错误或者内容格式不正确...

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

    `/etc/sudoers` 文件是 Linux 系统中管理 sudo 命令权限的核心配置文件。它定义了哪些用户或组可以使用 sudo 执行哪些命令,以及相应的限制条件。通过 Ansible 的 `sudoers` 角色,你可以集中化管理这些设置,确保...

    linux不能使用sudo命令解决方案

    1. 首先,需要使用 whereis 命令查找 sudoers 配置文件的目录,默认情况下该文件位于 /etc/sudoers。 2. 接下来,需要切换到 root 用户,并更改 /etc/sudoers 的权限,以便可以编辑该文件。 3. 使用 vi 编辑器编辑...

    redhat以root身份运行命令.docx

    /etc/sudoers 文件是 Sudo 命令的配置文件,该文件定义了哪些用户可以以 Root 用户或其他用户身份运行命令。/etc/sudoers 文件的配置需要使用 visudo 命令编辑,以避免配置错误。 * /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...

    linux里etc下的文件解析

    在Linux系统中,`/etc`目录是非常关键的一个位置,它主要用于存储系统级的配置文件。这些配置文件对于整个系统的正常运行至关重要,它们定义了系统的行为、网络设置、用户权限等多种核心配置。下面将详细介绍`/etc`...

    理解Linux_配置文件

    尽管 Linux 没有一个统一的标准配置文件格式,但不同的配置文件遵循着各自的设计原则。这使得配置文件呈现出多样化的形式: - **简单列表格式**:例如 `/etc/shells` 文件,仅包含一个换行符分隔的 shell 名称列表...

    etc.tar.gz-Linux下etc配置文件目录样例

    在Linux操作系统中,`etc`目录是一个至关重要的部分,它包含了系统级别的配置文件和目录。`etc`在英文中是"etcetera"的缩写,意为"等等",在Linux世界里,它代表着系统运行所需的众多配置选项。这个目录下的文件用于...

    Hadoop2.6.4/2.7.3环境配置文件

    - 编辑`/etc/sudoers`文件,添加当前用户的sudo权限。 - 创建一个名为hadoop的文件夹。 #### 2. 安装JDK - 解压`jdk-7u79-linux-x64.gz`文件到`hadoop`文件夹中。 - 修改`/etc/profile`文件,添加JDK环境变量设置...

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

    总结来说,配置`sudo`权限是通过`visudo`编辑`/etc/sudoers`文件,设置用户、用户组和命令的规则。正确地配置`sudoers`文件可以有效地控制系统的访问权限,同时保持系统的安全。务必谨慎操作,因为错误的配置可能...

    linux根文件系统构建(etc目录包)

    /etc目录是Linux中用于存储系统级配置文件的地方,这些文件通常以文本格式存在,便于编辑和理解。以下是一些常见的子目录和文件: 1. /etc/init.d:包含启动和停止服务的脚本,这些脚本与System V初始化系统相关联...

    LIUNX配置文件详解.ZAR

    首先,我们要了解的是`/etc`目录,它是Linux系统中存储全局配置文件的地方。这里包含了许多关键文件,如`/etc/passwd`,用于管理用户账户信息,包括用户名、密码(以加密形式)、用户ID、组ID等;`/etc/group`则存储...

    sudo提权和普通用户免密切换到root详细笔记

    为了使`shi`用户能够使用`sudo`命令,我们需要编辑`/etc/sudoers`文件,这个文件是控制sudo权限的核心。首先赋予`/etc/sudoers`文件写权限: ```bash [root@www ~]# chmod u+w /etc/sudoers ``` 然后,添加以下行...

    linux 完全手册

    本文将深入探讨Linux目录结构及其重要组成部分,包括`/bin`,`/boot`,`/dev`,`/etc`,`/lib`,`/mnt`,`/opt`,`/proc`,`/root`,`/sbin`,`/usr`,`/var`等目录,以及`/etc`下的关键配置文件。 1. **目录结构**: - `/bin...

    Linux系统中的常用配置文件

    在Linux系统中,`/etc/inittab` 和 `/boot/grub/grub.conf` 是两个至关重要的配置文件,它们分别负责初始化进程的运行级别设置和引导加载器的配置。 1. **/etc/inittab** - **格式**:`id:run-levels:action:...

    linux 学习心得

    13. /etc/sudoers:可以 sudo 命令的配置文件。 14. /etc/securetty:设定哪些终端可以让 root 登录。 15. /etc/login.defs:所有用户登录时的缺省配置。 16. /etc/exports:设定 NFS 系统用的。 17. /etc/init....

    Linux权限委派相关学习笔记

    总结来说,Linux权限委派是通过`sudo`命令和`/etc/sudoers`配置文件实现的,它提供了对系统资源访问的精细控制,使得在保持安全性的同时,能够高效地进行管理和维护。理解和熟练掌握这些知识点对于成为一名合格的...

    Linux系统中的常用配置文件[收集].pdf

    配置文件`/etc/yum.repos.d/CentOS-Media.repo`用于定义Yum仓库的源,比如可以从光盘、网络或其他本地存储设备中获取软件包。通过更改`baseurl`、`enable`等字段,可以自定义Yum源。 三、用户及用户组管理 1. `/...

    linux 课件 常用命令 配置文件

    这份“linux 课件 常用命令 配置文件”涵盖了Linux学习的核心部分,包括基础操作、系统管理以及软件部署等方面。以下是对这些主题的详细阐述: 一、Linux常用命令 1. 文件与目录操作:`cd`用于切换目录,`ls`列出...

Global site tag (gtag.js) - Google Analytics