V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
Dedicatus545
V2EX  ›  NAS

XDM 救大命

  •  
  •   Dedicatus545 · 2023-06-28 13:33:12 +08:00 · 2490 次点击
    这是一个创建于 543 天前的主题,其中的信息可能已经有所发展或是发生改变。

    黑裙,最近在搞 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 条附言  ·  2023-06-28 20:00:08 +08:00
    问题已解决,导致的原因是教程贴里一条命令

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

    该命令多了个空格 导致 usr 目录下文件所有者全部变动,已重装系统,血的教训
    20 条回复    2023-07-03 14:26:10 +08:00
    Dedicatus545
        1
    Dedicatus545  
    OP
       2023-06-28 13:52:02 +08:00
    执行 su - root
    提示 Permission denied
    fuge
        2
    fuge  
       2023-06-28 14:50:48 +08:00
    live os
    chroot
    Dedicatus545
        3
    Dedicatus545  
    OP
       2023-06-28 14:57:33 +08:00 via Android
    @fuge 大白一只 麻烦详细说明。下
    Hengtang
        4
    Hengtang  
       2023-06-28 15:54:40 +08:00
    有 docker 的话可以把 /bin 挂载进某个容器里,然后进容器的 shell 来修改 sudo 二进制文件的所有者和权限。Docker 是以 root 权限运行的,所以这个操作理论上可行,不过我自己没操作过,你可以试试
    Dedicatus545
        5
    Dedicatus545  
    OP
       2023-06-28 16:47:39 +08:00
    @Hengtang 差不多能理解,但是要用哪个 shell 执行
    Dedicatus545
        6
    Dedicatus545  
    OP
       2023-06-28 16:48:46 +08:00
    @Hengtang 用哪个容器 /套件程序 能打开像 ssh 那种的交互界面?
    ConfusedBiscuit
        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. 会不会是中毒了,被恶意软件修改了?
    ConfusedBiscuit
        8
    ConfusedBiscuit  
       2023-06-28 17:45:17 +08:00
    补充一种
    4. 你的 /bin/sudo 的权限没错,但是文件所有者不对,必须是 root 才行
    Dedicatus545
        9
    Dedicatus545  
    OP
       2023-06-28 17:58:06 +08:00 via Android
    @ConfusedBiscuit 这我直接看不懂了.但是我感觉是我误操作改了权限造成的

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


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


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

    然后悲剧就发生了

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

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

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


    @Dedicatus545 感觉你除了重装,别无他法了。这命令特么还加了一个-R ,不知道原作者是不是故意的。你现在也不知道每个文件的以前所有者是谁了,全都乱套了。临时想要系统恢复的话,sudo chomd -R 777 /这样吧
    EvineDeng
        17
    EvineDeng  
       2023-06-28 19:24:49 +08:00
    @sadfQED2 OP 已经用不了 sudo 了...
    Dedicatus545
        18
    Dedicatus545  
    OP
       2023-06-28 19:56:54 +08:00
    @sadfQED2 已经重装了,顺便在原帖评论提了个醒。希望别有其他人受害吧
    yijiangchengming
        19
    yijiangchengming  
       2023-06-28 20:13:34 +08:00 via Android
    永远不要在底层系统执行修改命令和批量脚本。
    Hengtang
        20
    Hengtang  
       2023-07-03 14:26:10 +08:00
    @Dedicatus545 Docker 套件里就能进到具体容器的 shell 啊,只不过要求你的 docker 套件本身要正常跑才行。不然的话就只能把群晖的盘挂到其他 linux 系统下去修改 sudo 的 uid 和 gid 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   927 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:40 · PVG 06:40 · LAX 14:40 · JFK 17:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.