为什么我被剥夺了 sudo 的权利?

为什么我被剥夺了 sudo 的权利?

为什么我被剥夺了删除目录的权限,即使是我在 sudo 中创建的目录,现在我也无法删除它——是的,它是空的

这样做是为了确保我的账户中有 sudo:

userz@bw:~$ sudo adduser userx sudo
[sudo] password for userz: 
The user `userx' is already a member of `sudo'.
userz@bw:~$ sudo adduser userz sudo
The user `userz' is already a member of `sudo'.
userz@bw:~$ cd /usr/local/share

因此我尝试删除该目录:

userz@bw:/usr/local/share$ rmdir themes
rmdir: failed to remove ‘themes’: Permission denied

检查以确保它是空的:

userz@bw:/usr/local/share$ cd themes
userz@bw:/usr/local/share/themes$ ls
userz@bw:/usr/local/share/themes$ ls -la
total 8
drwxr-xr-x 2 root root 4096 Oct  2 14:20 .
drwxr-xr-x 8 root root 4096 Oct  2 14:20 ..
userz@bw:/usr/local/share/themes$ 

如果我使用 sudo 那么为什么它不让我以超级用户身份做我想做的事?

答案1

成为 sudo 组的成员仅意味着你被允许使用 sudo 进入 root 角色。要真正以 root 身份执行操作,请将其指定为 sudo 命令的参数:

sudo rmdir themes

sudo命令将提升您到root然后执行rmdir themes

答案2

成为组成员sudo仅允许用户使用该程序sudo获得超级用户权限。但您仍然必须实际使用该程序sudo才能获得超级用户权限,例如

userz@bw:/usr/local/share$ sudo rmdir themes

答案3

当然它不会允许你删除该目录,因为你不是root

$ whoami
braiam
$ sudo whoami
[sudo] password for braiam: 
root
$

在执行任何需要 sudo 权限的操作之前,您应该使用sudo,而不仅仅是成为 sudo 组的一部分。

以下是使用以下命令删除目录的方法sudo

$ ls -al somedir/
total 8
drwxr-xr-x  2 root   root   4096 oct  2 18:02 .

^ 这里我有一个由 root 拥有的目录。

$ sudo rmdir -v somedir
rmdir: removing directory, ‘somedir’

我在这里告诉超级用户 rmdir(删除目录)带有-v(详细)参数的调用somedir

$ ls -l somedir/
ls: cannot access somedir/: No such file or directory

现在,somedir不再存在了,它完蛋了!

相关内容