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)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误提示是在执行sudo命令时出现的,意思是sudoers文件中存在语法错误。sudoers文件是用来配置sudo命令的权限的,如果文件中存在语法错误,就会导致sudo命令无法正常执行。需要检查sudoers文件中的语法错误并进行修复。修复完成后,再次执行sudo命令即可。 ### 回答2: “sudo /etc/sudoers: 语法错误”这个错误提示是在使用sudo命令时出现的,通常出现在修改sudoers文件之后。这个文件是授权用户执行特定任务的文件,也是system administrator(系统管理员)进行权限管理的必要文件。 这个错误提示通常是由于sudoers文件的语法错误所引起的。在更改sudoers文件时,可能会影响到sudo命令的正确运行,导致出现语法错误。 解决此错误最好的方法是在root(超级管理员)权限下执行 “visudo”命令,并编辑sudoers文件。visudo是一个系统设置,它允许您以特定方式编辑sudoers文件。visudo检查sudoers文件的语法和逻辑错误,并在您提交更改之前进行验证。因此,使用visudo修改sudoers文件会避免出现语法错误的情况。 首先,使用root用户登录系统。接下来,使用命令“sudo visudo”打开sudoers文件,然后按照指令进行修改。如果在修改后尝试使用sudo命令时还出现语法错误,您应该再次打开sudoers文件,检查哪些语法错误可能存在,并进行修正。 如果sudoers文件语法,让看起来有点吓人,那么可以先备份该文件,然后尝试将sudoers文件还原到其原始状态。从备份版本中找出错误,并使用visudo验证和修复该文件。 总体而言,sudo /etc/sudoers: 语法错误可能发生在修改sudoers文件时。通过使用visudo编辑sudoers文件,确保文件不存在语法错误,可以有效避免此问题的发生。 ### 回答3: sudo /etc/sudoers:语法错误。这个错误是指在使用sudo命令时,Linux系统发现了sudoers文件中的语法错误。 sudo是一个非常有用的命令,可以允许我们以超级管理员的身份运行某些命令,这在进行系统维护等工作中非常方便。sudoers文件用于控制哪些用户或者用户组可以执行sudo命令。 然而,如果在sudoers文件的编辑过程中存在语法错误,就会出现sudo /etc/sudoers:语法错误。这个错误可能会导致sudo命令无法正常运行,因为sudoers文件的格式不正确。 如果你遇到了这个错误,可以尝试使用visudo命令来编辑sudoers文件。visudo命令可以帮助我们在编辑sudoers文件的过程中自动检测语法错误,并且更换成正确的文件,避免了出现sudo /etc/sudoers:语法错误的潜在问题。 如果在使用visudo命令过程中还是出现sudo /etc/sudoers:语法错误的问题,可以使用其他命令进行检查和修改,比如grep命令查找sudoers文件中的语法错误,或者使用nano来手动编辑sudoers文件。 总之,sudo /etc/sudoers:语法错误这个错误是因为sudoers文件的语法格式不正确导致的,可以通过使用visudo或其他命令进行检查和修复来解决这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值