Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Sudo错误消息_Linux_Unix_Permissions - Fatal编程技术网

Linux Sudo错误消息

Linux Sudo错误消息,linux,unix,permissions,Linux,Unix,Permissions,我正在尝试修复Debian服务器上的一些权限问题。我的一个团队中有人在改变权限,在这个过程中的某个地方,事情搞砸了。无论何时我现在执行sudo,都会收到以下错误消息/警告: sudo: /var/lib/sudo writable by non-owner (040720), should be mode 0700 括号里的数字把我弄糊涂了。这是什么意思?另外,可能运行了什么命令来设置这样的权限?如何设置这些权限 /var/lib/sudo权限为: drwx-w---- 5 root

我正在尝试修复Debian服务器上的一些权限问题。我的一个团队中有人在改变权限,在这个过程中的某个地方,事情搞砸了。无论何时我现在执行sudo,都会收到以下错误消息/警告:

sudo: /var/lib/sudo writable by non-owner (040720), should be mode 0700
括号里的数字把我弄糊涂了。这是什么意思?另外,可能运行了什么命令来设置这样的权限?如何设置这些权限

/var/lib/sudo
权限为:

drwx-w----  5 root     sudo 4096 Feb  4 02:36 sudo

我的意思是:这个目录由root用户读写可执行,sudo组可写,其他用户没有特权。这是正确的吗

040720值是16位值的八进制表示,该值存储inode中的权限和文件类型信息(struct stat的
st_mode
元素)。4个最低有效位(八进制)表示权限,其他数字表示文件类型。根据推断,
040
表示“目录”。0720权限是为用户(所有者)读取、写入、执行、为组写入(这是被投诉的),其他人无权访问。0720的前导0表示setuid、setgid和sticky位均为零

您可以通过运行以下命令修复错误报告:

sudo chmod 700 /var/lib/sudo
您可能希望递归地执行此操作(
chmod-R
),但要小心使数据文件可执行,否则不应执行。您可能需要修复所有者;该目录正确地归
root
所有,但您可能需要在目录下设置所有者。为此,您可以使用此设置用户(
root
)和组(
sudo
):


权限模式的最后三位数字分别针对所有者、组和其他用户,是以下值的总和:

4表示读取(r)

2表示写入(w)

1表示执行(x)

因此,如果/var/lib/subo是***720,这意味着:

  • 所有者权限=7=4+2+1=读取+写入+执行
  • 组权限=2=写入
  • 其他权限=0=无权限
是的,你对这一行输出的解释是正确的

使用
chmod
命令更改文件模式

chmod MODE FILE
现在,有趣的是,您可以将MODE指定为一个八进制数或更易于阅读的字符串(如下所示)。要修复警告,您需要
chmod 700/var/lib/sudo
,或者更可能是
sudo chmod 700/var/lib/sudo

更具可读性的表单需要更多的解释,不过:

  • 使用
    u
    g
    o
    指示用户、组或其他
  • 使用
    +
    -
    授予或撤销权限
  • 使用
    r
    w
    x
    进行读取、写入或执行
  • 所以这里是
    chmod g-w/var/lib/sudo
    ,它在伪英语中读作change mode:for group,revoke write,of/var/lib/sudo

    chmod MODE FILE