XDM 救大命

2023-06-28 13:33:12 +08:00
 Dedicatus545

黑裙,最近在搞 ipv6 的 DDNS ,然后打算申请个证书,开启 https 。参考了这个教程 https://www.bilibili.com/read/cv23135327/

在执行修改权限时候,提示权限不足,sudo -i 命令提示

sudo: /bin/sudo must be owned by uid 0 and have the setuid bit set

百度一下说需要更改 sudo 的权限,但是以前都正常呀,好像我当前账户的权限降级了。启用了 admin 账号也是没有权限。

最后直接在 root 文件夹执行脚本,好歹证书申请到了。

然后重启了机器,结果很多程序直接歇菜了,提示启动失败,此套件需要启动 pgsql-adapter.service.

又百度了一下说是要用 root 权限重构数据库,可我又 sudo 不了

咋办

2453 次点击
所在节点    NAS
20 条回复
Dedicatus545
2023-06-28 13:52:02 +08:00
执行 su - root
提示 Permission denied
fuge
2023-06-28 14:50:48 +08:00
live os
chroot
Dedicatus545
2023-06-28 14:57:33 +08:00
@fuge 大白一只 麻烦详细说明。下
Hengtang
2023-06-28 15:54:40 +08:00
有 docker 的话可以把 /bin 挂载进某个容器里,然后进容器的 shell 来修改 sudo 二进制文件的所有者和权限。Docker 是以 root 权限运行的,所以这个操作理论上可行,不过我自己没操作过,你可以试试
Dedicatus545
2023-06-28 16:47:39 +08:00
@Hengtang 差不多能理解,但是要用哪个 shell 执行
Dedicatus545
2023-06-28 16:48:46 +08:00
@Hengtang 用哪个容器 /套件程序 能打开像 ssh 那种的交互界面?
ConfusedBiscuit
2023-06-28 17:41:43 +08:00
不是你的账户被降级了,是你的 /bin/sudo 文件本身出问题了,ls -lh 拿到的正常 sudo 文件的权限是( ubuntu 20.04 )
ls -lh /usr/bin/sudo
-rwsr-xr-x 1 root root 163K 1 月 16 21:06 /usr/bin/sudo

其中 rwsr 的 s 代表 setuid 权限
https://blog.csdn.net/LYJwonderful/article/details/80220452

我只能猜测
1. 你做了一些奇怪的操作修改了 /bin/sudo 文件的权限
2. [我猜可能性最大] 其实你的系统跟 Ubuntu 一样默认的 sudo 是在 /usr/bin/sudo ,但是你安装了某个奇怪的 sudo (说不定是某个软件包带的),并且安装到了 /bin/sudo ,由于 PATH 顺序问题,导致执行 sudo 的时候优先找到了这个错误的可执行文件,并且这个 sudo 的权限是错的
3. 会不会是中毒了,被恶意软件修改了?
ConfusedBiscuit
2023-06-28 17:45:17 +08:00
补充一种
4. 你的 /bin/sudo 的权限没错,但是文件所有者不对,必须是 root 才行
Dedicatus545
2023-06-28 17:58:06 +08:00
@ConfusedBiscuit 这我直接看不懂了.但是我感觉是我误操作改了权限造成的

sudo mv acme.sh-master/ /usr/local/share/acme.sh


sudo chown -R acme / usr/local/share/acme.sh/


上面这两步 第一步 sudo 没问题
Dedicatus545
2023-06-28 18:00:50 +08:00
@ConfusedBiscuit 第二步操作 因为我没创建 acme 账户 直接用的管理员账户所以报错。然后我更换了管理员账户 可能是哪个字母输入错了 提示还是没找到账户 然后我急了 直接把 acme 账户改成 root

然后悲剧就发生了

大概就是这样 现在我在想办法修复
Dedicatus545
2023-06-28 18:05:00 +08:00
@ConfusedBiscuit 现在我在 pe 模式下 用硬盘精灵看 sudo 文件 0775 的权限发呆 不知道怎么才能改回去 硬盘精灵不能改权限
Opportunity
2023-06-28 18:11:03 +08:00
> sudo chown -R acme / usr/local/share/acme.sh/

/ 和 usr 中间多了个空格?是 V2EX 格式化的还是你真执行了?
Dedicatus545
2023-06-28 18:15:47 +08:00
@Opportunity 应该是执行了 要不然能出这问题 我小白 就直接复制粘贴 我已经格式化系统盘了 重装群辉系统了
ConfusedBiscuit
2023-06-28 18:26:02 +08:00
@Opportunity 真相了,全量是所有文件的所有者都给改错了
Dedicatus545
2023-06-28 18:34:23 +08:00
sadfQED2
2023-06-28 18:53:39 +08:00
@Opportunity 不厚道的笑了,这命令真的是专业坑人。但凡没注意,复制粘贴快一点,都被坑了

我去看了他贴的那个文章,那文章里面写的命令就给他多加了一个空格。


@Dedicatus545 感觉你除了重装,别无他法了。这命令特么还加了一个-R ,不知道原作者是不是故意的。你现在也不知道每个文件的以前所有者是谁了,全都乱套了。临时想要系统恢复的话,sudo chomd -R 777 /这样吧
EvineDeng
2023-06-28 19:24:49 +08:00
@sadfQED2 OP 已经用不了 sudo 了...
Dedicatus545
2023-06-28 19:56:54 +08:00
@sadfQED2 已经重装了,顺便在原帖评论提了个醒。希望别有其他人受害吧
yijiangchengming
2023-06-28 20:13:34 +08:00
永远不要在底层系统执行修改命令和批量脚本。
Hengtang
2023-07-03 14:26:10 +08:00
@Dedicatus545 Docker 套件里就能进到具体容器的 shell 啊,只不过要求你的 docker 套件本身要正常跑才行。不然的话就只能把群晖的盘挂到其他 linux 系统下去修改 sudo 的 uid 和 gid 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/952364

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX