Linux Sudo错误消息
我正在尝试修复Debian服务器上的一些权限问题。我的一个团队中有人在改变权限,在这个过程中的某个地方,事情搞砸了。无论何时我现在执行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
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