sudo: /etc/sudoers.d 可被任何人写
之前,Linux上为了"方便",于是将所有的权限全部变成了"777",可读可写可操作,开始看见执行的时候没什么感觉,认为一切都是正常的,后来才发现用sudo的时候出现这样的问题:
chaochao@computer:~$ sudo
sudo: /etc/sudoers.d 可被任何人写
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] [VAR=value] [-i|-s]
[<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file ...
chaochao@computer:~$ pkexec chmod 0440 /etc/sudoers
Error executing command as another user: Request dismissed
其中,第一条指令出现错误后,我在网上首先找到的解决措施是,在终端上输入:
pkexec chmod 0440 /etc/sudoers
但是验证的时候,是这样的:
根本验证不了,于是我放弃了这个解决措施
后来,发现了另外一种:
$ chown -R root:root /etc/sudoers.d
$ chmod u=rwx,g=rx,o=rx /etc/sudoers.d/
$ chmod u=r,g=r,o= /etc/sudoers.d/*
发现呢,出现了这样的情况:
chaochao@computer:~$ pkexec chmod 0440 /etc/sudoers
Error executing command as another user: Request dismissed
chaochao@computer:~$ chown -R root:root /etc/sudoers.d
chown: 正在更改'/etc/sudoers.d/README' 的所有者: 不允许的操作
chown: 正在更改'/etc/sudoers.d' 的所有者: 不允许的操作
chaochao@computer:~$ sudo chown -R root:root /etc/sudoers.d
sudo: /etc/sudoers.d 可被任何人写
chaochao@computer:~$ sudo chown -R root:root /etc/sudoers.d
sudo: /etc/sudoers.d 可被任何人写
chaochao@computer:~$ chown -R root:root /etc/sudoers.d
chown: 正在更改'/etc/sudoers.d/README' 的所有者: 不允许的操作
chown: 正在更改'/etc/sudoers.d' 的所有者: 不允许的操作
接着,我发现可能是因为没有使用超级管理员权限,于是在开始的时候加上了:
su
接着输入自己的管理员密码后,依次在终端上输入上面的三条指令,发现可以解决了这个问题:
root@computer:/home/chaochao# chown -R root:root /etc/sudoers.d
root@computer:/home/chaochao# chmod u=rwx,g=rx,o=rx /etc/sudoers.d/
root@computer:/home/chaochao# chmod u=r,g=r,o= /etc/sudoers.d/*
root@computer:/home/chaochao# exit
exit
chaochao@computer:~$ sudo
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u
user] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h
host] [-p prompt] [-T timeout] [-u user] [VAR=value] [-i|-s]
[<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host]
[-p prompt] [-T timeout] [-u user] file ...
sudo显示的是正常的命令,说明问题已经解决了~~~