`

sudo配置文件/etc/sudoers概述

阅读更多
    sudo命令可以用来以另一个用户身份执行那个用户才能执行的命令,有时因为安全考虑,不得不对某些命令的执行范围进行强制限制。为了限制某个执行sudo命令的用户以其他用户的身份执行更多命令,我们可以通过直接编辑 /etc/sudoers 文件(或使用visudo命令间接编辑)来对命令的执行者进行约束。下面示例阐述了该过程(为了美观就把它假想成bash代码了):
# Define aliases for machines in CS & Physics departments.
Host_Alias CS = tigger, anchor, piper, moer, sigi
Host_Alias PHYSICS = eprince, pprince, icarus

# Define collections of commands.
Cmnd_Alias DUMP = /sbin/dump, /sbin/restore
Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm
Cmnd_Alias SHELLS = /bin/sh, /bin/tcsh, /bin/bash, /bin/ash, /bin/bsh

# Permissions.
mark,ed  PHYSICS = ALL
herb     CS = /usr/sbin/tcpdump: PHYSICS = (operator)DUMP
lynda    ALL = (ALL)ALL, !SHELLS
%wheel   ALL, !PHYSICS = NOPASSWD: PRINTING

    前5个非注释行定义了主机组和命令组的别名,以方便后面定义权限(Permissions部分)时使用。每一行权限说明包括的信息如下(sudo内建的命令 ALL 表示允许所有):
    * 该行所适用的用户。
    * 该行所适用的主机。
    * 可以以其身份执行命令的用户(置于小括号中,缺省时就表示 root)。
    * 指定用户可以运行的命令(最好写成绝对路径)。
    第一行权限说明适用于 PHYSICS 组机器上的用户 mark 和 ed ,并且可以执行所有命令,不过只能以 root 身份执行。
    第二行权限说明允许用户 herb 在 CS 组机器上以 root 身份运行 tcpdump 命令,还能在 PHYSICS 组机器上运行 DUMP 组命令,但是只能以 operator 用户的身份运行,此时用户 herb 输入的实际命令类似于下面:
    $ sudo -u operator /sbin/dump 0u /dev/hda2
    第三行说明用户 lynda 能以任意用户身份在任意机器上运行所有除 SHELL 组的命令,不过要注意的是,虽然不能直接执行 SHELL 组的命令,但是可以通过其他方式来间接执行,比如采用下面这种方式:
    $ cp -p /bin/bash  /tmp/bash
    $ sudo /tmp/bash
    一般来说,任何设定“除……以外的命令”的做法都注定要失败,这样写的目的只是为了避免用户不经意的使用。
    最后一行说明 wheel 组的用户能在除 PHYSICS 组的机器上运行 PRINTING 组命令,并且这些运行命令不需要任何口令(NOPASSWD)。
分享到:
评论

相关推荐

    redhat以root身份运行命令.docx

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

    linux sudo

    配置文件 `/etc/sudoers` 的格式如下: ```ini # Users who may run commands via sudo # This file MUST be edited with the 'visudo' command as root. # See the man page for details on how to write a sudoers...

    linux学习笔记不错的东东

    - 存放系统启动时所需的文件,如内核(`vmlinuz`)和启动加载器配置文件(`menu.lst`)等。 - 对于系统启动来说非常重要。 4. **/etc** - 主要用于存储系统配置文件。 - 其中包含了各种服务的配置文件,如网络设置...

    linux学习笔记.pdf

    - `/etc/sudoers`:定义哪些用户可以使用`sudo`命令。 - `/etc/securetty`:指定允许root用户登录的终端。 - `/etc/login.defs`:定义登录的默认参数。 - `/etc/exports`:配置NFS共享。 - `/etc/init.d`:存放...

    linux的目录架构

    - **/etc/sudoers**:定义哪些用户可以使用sudo命令。 - **/etc/securetty**:指定哪些终端允许root登录。 - **/etc/login.defs**:登录默认设置。 - **/etc/exports**:NFS共享配置文件。 - **/etc/init.d**:...

    很好的linux学习笔记

    4. **/etc**: 配置文件存储位置。 - `/etc/DIR_COLORS`: 配置颜色设置。 - `/etc/HOSTNAME`: 设置主机名。 - `/etc/NETWORKING`: 网络配置标志。 - `/etc/host.conf`: 主机解析顺序配置。 - `/etc/hosts`: IP...

    Ceph 部署文档.md

    在`ceph-deploy`节点上创建SSH配置文件,方便后续的远程连接操作: ```bash tee ~/.ssh/config Host control01 Hostname control01 User root Host compute01 Hostname compute01 User root Host compute02 ...

    写得蛮好的linux学习笔记

    - **/etc/sudoers**:定义哪些用户可以使用 sudo 命令。 - **/etc/securetty**:定义哪些终端可以 root 登录。 - **/etc/login.defs**:定义默认登录参数。 - **/etc/exports**:NFS 共享配置文件。 - **/etc/...

    linux 笔记

    - **/etc/sudoers**:配置具有`sudo`权限的用户。 - **/etc/securetty**:指定哪些终端设备允许root用户登录。 - **/etc/login.defs**:定义用户登录时的默认配置。 - **/etc/exports**:配置NFS共享目录。 - *...

    linux学习笔记--很经典

    - **/etc/sudoers**: sudo命令权限配置。 - **/etc/securetty**: root用户可登录的终端。 - **/etc/login.defs**: 登录默认配置。 - **/etc/exports**: NFS共享配置文件。 - **/etc/init.d/**: 系统服务脚本。 ...

    Linux环境Hadoop2.6+Hbase1.2集群安装部署

    修改Zookeeper的配置文件 `zoo.cfg` ,设置数据目录、客户端端口等参数: ```properties tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/local/zookeeper/data clientPort=2181 ``` **4.2.5 将Zookeeper...

    Linux常用命令学习笔记

    #### 一、系统目录与配置文件概述 在Linux系统中,不同的目录具有不同的功能和用途,这些目录对于系统的稳定运行至关重要。以下是对几个关键目录及其内容的详细介绍: - **/bin**:存放了系统中常用的二进制文件...

    Git环境搭建(2)---搭建CS架构的服务器.docx

    - 修改`sshd_config`配置文件:`$ sudovim/etc/ssh/sshd_config`。 - 去除以下几行的注释,并进行相应设置: - `StrictModesno`:即使用户名和公钥文件名不完全匹配也允许通过验证。 - `RSAAuthenticationyes`:...

    linux的sudo详解

    默认情况下,使用的是`sudoers`策略,该策略可以通过`/etc/sudoers`文件或通过LDAP进行配置。 2. **输入/输出日志插件**:除了安全策略插件外,`sudo`还支持I/O日志插件,用于记录命令的输入输出,便于审计和故障...

    unix commands

    - **sudovisudo**: 编辑`/etc/sudoers`文件,该文件定义了哪些用户可以使用sudo及其权限范围。 - **gksu** 和 **kdesu**: 用于打开作为root用户的文件管理器。 - `gksu nautilus`: 以root身份打开Nautilus文件管理...

    Hadoop笔记

    6. **配置Hadoop**:编辑Hadoop配置文件,包括`hadoop-env.sh`、`yarn-env.sh`、`slaves`等。 #### 六、启动Hadoop集群 完成上述步骤后,即可启动Hadoop集群。具体操作包括格式化NameNode、启动NameNode和DataNodes...

    linux常见操作命令及sudo配置服务升级手册.pdf

    - sudo允许普通用户以root权限执行特定命令,通过编辑`/etc/sudoers`文件,可以定制用户权限,实现精细控制。 - **服务升级** - 包括软件包更新、内核升级、服务重启等,确保系统保持最新且安全。 4. **服务升级...

    Linux的用户和登录.txt

    - **配置文件**:通过编辑`/etc/sudoers`文件来授予特定用户使用sudo的权限。 - **权限配置**:为了安全起见,应合理配置sudo权限,避免滥用。例如,可以允许某个用户组的所有成员以root身份运行特定命令,但限制其...

    Hadoop入门.docx

    - 修改网卡配置文件: ```bash [root@hadoop100]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 ``` - 将内容中的`HWADDR`改为上一步复制的值。 6. **重启虚拟机**: - 使用`reboot`命令重启虚拟机: ```...

Global site tag (gtag.js) - Google Analytics