相关疑难解决方法(0)

如何在 Ubuntu 上取回 sudo?

我已经这样做了:

sudo chown -R myname /usr/
Run Code Online (Sandbox Code Playgroud)

现在sudo由于此错误,我无法使用该命令:

sudo: 必须是 setuid root

当我读到这意味着这个文件的所有者/usr/bin/sudo不是根。由于/usr文件夹上的 chown,它现在是我的用户。

在许多论坛和博客上,人们建议以 root 身份执行此操作:

# chown root:root /usr/bin/sudo
# chmod 4111 /usr/bin/sudo
Run Code Online (Sandbox Code Playgroud)

...但问题是我需要以 root 身份登录,但我不能,因为如果我su在终端中输入密码是错误的(实际上我使用的是我添加到用户的密码):

$ su
Password:
su: Authentication failure
Run Code Online (Sandbox Code Playgroud)

那么我可以取回sudo命令吗?

编辑:我的 Ubuntu 在 Mac OS X 上的 Parallels 下。

password root ubuntu permissions sudo

12
推荐指数
2
解决办法
4万
查看次数

使用 find -perm 查找 setuid 文件

我想找到所有 suid 二进制文件的列表。我使用命令

find / -perm 4000
Run Code Online (Sandbox Code Playgroud)

然而,这并没有给我任何输出。我了解到 SUID 文件可能处于 4xxx 权限模式。但是如果我发出命令

find / -perm -4000 (which all websites tell)
Run Code Online (Sandbox Code Playgroud)

或命令

find / -perm +4000 
Run Code Online (Sandbox Code Playgroud)

两者都给我相同的结果。据我所知它应该总是+4000(因为如果它是用户 suid 二进制,那么第一个字节应该是 4,如果组 suid 二进制然后第一个字节应该是 2,如果一个粘滞位打开目录,那么第一个字节应该是是 1)。那-4000怎么也给结果呢?

setuid permissions find

1
推荐指数
1
解决办法
3799
查看次数

标签 统计

permissions ×2

find ×1

password ×1

root ×1

setuid ×1

sudo ×1

ubuntu ×1