黑裙,最近在搞 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 不了
咋办
1
Dedicatus545 OP 执行 su - root
提示 Permission denied |
2
fuge 2023-06-28 14:50:48 +08:00
live os
chroot |
3
Dedicatus545 OP @fuge 大白一只 麻烦详细说明。下
|
4
Hengtang 2023-06-28 15:54:40 +08:00
有 docker 的话可以把 /bin 挂载进某个容器里,然后进容器的 shell 来修改 sudo 二进制文件的所有者和权限。Docker 是以 root 权限运行的,所以这个操作理论上可行,不过我自己没操作过,你可以试试
|
5
Dedicatus545 OP @Hengtang 差不多能理解,但是要用哪个 shell 执行
|
6
Dedicatus545 OP @Hengtang 用哪个容器 /套件程序 能打开像 ssh 那种的交互界面?
|
7
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. 会不会是中毒了,被恶意软件修改了? |
8
ConfusedBiscuit 2023-06-28 17:45:17 +08:00
补充一种
4. 你的 /bin/sudo 的权限没错,但是文件所有者不对,必须是 root 才行 |
9
Dedicatus545 OP @ConfusedBiscuit 这我直接看不懂了.但是我感觉是我误操作改了权限造成的
sudo mv acme.sh-master/ /usr/local/share/acme.sh sudo chown -R acme / usr/local/share/acme.sh/ 上面这两步 第一步 sudo 没问题 |
10
Dedicatus545 OP @ConfusedBiscuit 第二步操作 因为我没创建 acme 账户 直接用的管理员账户所以报错。然后我更换了管理员账户 可能是哪个字母输入错了 提示还是没找到账户 然后我急了 直接把 acme 账户改成 root
然后悲剧就发生了 大概就是这样 现在我在想办法修复 |
11
Dedicatus545 OP @ConfusedBiscuit 现在我在 pe 模式下 用硬盘精灵看 sudo 文件 0775 的权限发呆 不知道怎么才能改回去 硬盘精灵不能改权限
|
12
Opportunity 2023-06-28 18:11:03 +08:00
|
13
Dedicatus545 OP @Opportunity 应该是执行了 要不然能出这问题 我小白 就直接复制粘贴 我已经格式化系统盘了 重装群辉系统了
|
14
ConfusedBiscuit 2023-06-28 18:26:02 +08:00
@Opportunity 真相了,全量是所有文件的所有者都给改错了
|
15
Dedicatus545 OP @ConfusedBiscuit = =
|
16
sadfQED2 2023-06-28 18:53:39 +08:00 via Android
@Opportunity 不厚道的笑了,这命令真的是专业坑人。但凡没注意,复制粘贴快一点,都被坑了
我去看了他贴的那个文章,那文章里面写的命令就给他多加了一个空格。 @Dedicatus545 感觉你除了重装,别无他法了。这命令特么还加了一个-R ,不知道原作者是不是故意的。你现在也不知道每个文件的以前所有者是谁了,全都乱套了。临时想要系统恢复的话,sudo chomd -R 777 /这样吧 |
18
Dedicatus545 OP @sadfQED2 已经重装了,顺便在原帖评论提了个醒。希望别有其他人受害吧
|
19
yijiangchengming 2023-06-28 20:13:34 +08:00 via Android
永远不要在底层系统执行修改命令和批量脚本。
|
20
Hengtang 2023-07-03 14:26:10 +08:00
@Dedicatus545 Docker 套件里就能进到具体容器的 shell 啊,只不过要求你的 docker 套件本身要正常跑才行。不然的话就只能把群晖的盘挂到其他 linux 系统下去修改 sudo 的 uid 和 gid 了
|