为什么我被剥夺了删除目录的权限,即使是我在 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
不再存在了,它完蛋了!