惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
O
OpenAI News
TaoSecurity Blog
TaoSecurity Blog
Cloudbric
Cloudbric
Know Your Adversary
Know Your Adversary
I
Intezer
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tenable Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
P
Privacy & Cybersecurity Law Blog
T
Threatpost
AWS News Blog
AWS News Blog
Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
aimingoo的专栏
aimingoo的专栏
Cyberwarzone
Cyberwarzone
GbyAI
GbyAI
P
Proofpoint News Feed
S
Security @ Cisco Blogs
D
Docker
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
博客园 - 【当耐特】
月光博客
月光博客
罗磊的独立博客
G
Google Developers Blog
M
MIT News - Artificial intelligence
小众软件
小众软件
C
Check Point Blog
P
Proofpoint News Feed
H
Heimdal Security Blog
云风的 BLOG
云风的 BLOG
H
Hackread – Cybersecurity News, Data Breaches, AI and More
W
WeLiveSecurity
PCI Perspectives
PCI Perspectives
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Security Affairs
Attack and Defense Labs
Attack and Defense Labs
S
Schneier on Security
H
Hacker News: Front Page
The Last Watchdog
The Last Watchdog
H
Help Net Security
T
Threat Research - Cisco Blogs
阮一峰的网络日志
阮一峰的网络日志
Hacker News: Ask HN
Hacker News: Ask HN
Project Zero
Project Zero

Ubuntu

ubuntu 上有没有基于 OpenGL 的原生 3d 游戏 - V2EX ubuntu 下的风扇转速控制? 求推荐 Ubuntu 好用的 ssh 工具 - V2EX ubuntu 26.04 有人体验了吗, 有国内的可用镜像吗 - V2EX 15 年前的 ubuntu 官方安装盘有人要么 - V2EX 该装服务器了,装 Ubuntu24.04.2 还是 Ubuntu22.04.5 - V2EX ubuntu 加显卡后感觉动画卡顿 - V2EX vmware17 安装 ubuntu22.04.5,最后一步报错 - V2EX 求 Ubuntu 台式机指纹 USB 识别器推荐 - V2EX ubuntun 下 docker 拉取镜像失败,配置了镜像源,但是无效 - V2EX 我的 ubantu 服务器是不是被人植入了恶意代码了 - V2EX ubuntu 用 vbetool dpms off 了再 on 后,显示乱码 - V2EX WIN11 访问 UBUNTU 的 webdav 记不住账号 - V2EX Linux 安装完系统后默认是安装好显卡驱动吗? - V2EX PVELXC 容器报错 Failed to receive program message: WebSocket connection closed unexpectedly - V2EX 记录一下今天的坑: snap hostfs - V2EX ubuntu22.04 热点求救 - V2EX 有精简版 ubuntu 吗? - V2EX 求助: ubuntu 现在 ssh 不能直接 root 账户登录了? - V2EX 系统非 root 账号,安装了 xxxapp 后,运行权限是属于 root? 还是所有 users? - V2EX 求救, Ubuntu22.04 apt 报错无法安装、更新和卸载软件包... - V2EX Ubuntu24.04 升级撤包了? - V2EX ubuntu 离线安装软件,以 percona-xtrabackup 为例 - V2EX ubuntu 24.04 下如何安装 vnc server? - V2EX Ubuntu APT 有自动选源的办法吗 - V2EX Ubuntu22 升级 chrome 到最新 127 版本,内存突然"爆炸",各位大佬也这样吗? - V2EX 22.04 HWE 6.8 内核发布,闲来无事,将其移植到了 Ubuntu 16.04 - V2EX Ubuntu 电池问题 - V2EX Ubuntu 24.04,初始化并安装 docker 之后重启 - V2EX 一到公司就 ping 不通了 - V2EX 请问 ubuntu 22.04 LTS 上 上有没有什么文字转语音的输入法?找了半天没找到好用的. 我不想打字,只想语音输入 - V2EX ubuntu22.04 挂起失败 - V2EX ubuntu desktop 像那种力透纸背的单层厕纸 - V2EX ubuntu 2404 远程桌面 每次连接都会推出之前的登陆(所有桌面程序都会退出),重新登陆,是否可以保持原有登录? - V2EX 对 ubuntu gnome 喜欢不起来,难受啊 - V2EX 现在服务器使用 ubuntu 主流用什么版本 - V2EX 目前 ubuntu 服务器版哪个版本最稳定好用 - V2EX 工作站求 Ubuntu 替代方案 - V2EX snap 已经在污染 apt - V2EX ubuntu 为什么会出现键盘卡住的情况? - V2EX ubuntu 一如既往的优秀! - V2EX Ubuntu 24.04 LTS 现已释出,可以冲了兄弟们 - V2EX 今天是 20240424,距离 ubuntu 24.04 LTS 发布还有一天 - V2EX 可以单独编译内核中已有的模块吗? - V2EX 24.04 即将发布,请容许我装个 B - V2EX [求助] macOS 中 ubuntu 虚拟机终端的 besd 文件问题 - V2EX 用 ifconfig 命令设置 IP 后 ping 不通局域网内其他主机 - V2EX ubuntu 旁路由(或 TPclash 相关)问题相关请教 - V2EX
闯了大祸,根目录权限变成我自己了。 - V2EX
uuair · 2024-12-05 · via Ubuntu

这是一个创建于 557 天前的主题,其中的信息可能已经有所发展或是发生改变。

我的磁盘空间不够了,之前分区的时候没搞好,根目录给了 1.7T 一直闲置,为了下载一个 700 多 G 的文件,我简单的 mount 到了一个下载目录下,transmission 下载的时候报错说权限问题,我直接 chown -R uuair:www-data 了,我还纳闷,一个空目录,怎么会卡住了。。。结果 sudo 的时候发现错误,然后,./目录下大部分文件都不是 root 的了,尤其是/etc 下,所有的都是我了。

好了,现在怎么办?

第一:/home文件夹下有 3.2T 的文件,我没有其他的硬盘可以备份。

第二:我运行了 12 个 docker ,其中有几个配置了很久,可能我自己都记不清了,这部分怎么保留?

我使用了docker commit -p 然后 docker save -o ~/container-backup.tar container-backup的方法保存成 tar 文件了,但现在拷贝不出来

第 1 条附言  ·  2024 年 12 月 5 日

不是云服务,就是一台 GEN7 的服务器,我没有富裕的硬盘备份,3.2T 的资料,我把 docker 一个一个的备份成 tar 文件了。。。有一个目录不知道为什么,变成了用户 911 的,组也是 911 ,但我没这个用户。。。

第 2 条附言  ·  2024 年 12 月 6 日

我无法 sudo ,因为/etc 目录不是 root 的了,只要 sudo 就提示:

sudo: /etc/sudo.conf is owned by uid 1000, should be 0
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

使用 pkttyagent --process 的方法始终不成:
pkexec chown root:root /etc/sudoer
pkexec must be setuid root

我甚至都无法 mount 一个移动硬盘进来了
uuair@:~$ mount /dev/sde1 ~/mydisk
mount: /home/uuair/mydisk: must be superuser to use mount.
dmesg(1) may have more information after failed mount system call.
mount: (hint) your fstab has been modified, but systemd still uses
the old version; use 'systemctl daemon-reload' to reload.

现在我在用 sftp ,先把 docker 拷贝下来。

  • 权限
  • 备份
  • 恢复

    50 条回复    2024-12-14 12:49:22 +08:00

    FoxRiverMan

    1

    FoxRiverMan      2024 年 12 月 5 日   ❤️ 1

    先恢复关键系统目录的所有权吧
    sudo chown -R root:root /etc
    sudo chown root:root /bin
    sudo chown root:root /lib
    sudo chown root:root /usr
    sudo chown -R root:root /usr/bin
    sudo chown -R root:root /usr/lib

    bthulu

    2

    bthulu      2024 年 12 月 5 日   ❤️ 1

    这什么都不用干吧, 就算都是你的, root 用户照样能读写

    Exxfire

    3

    Exxfire      2024 年 12 月 5 日

    不懂,直接权限还原回去会遇到什么问题?

    uuair

    4

    uuair      2024 年 12 月 5 日

    @FoxRiverMan #1
    @bthulu #2
    不成啊,sudo 就提示错误了。虽然我有 root 权限,但我也需要 su 才可以。。
    sudo: /etc/sudo.conf is owned by uid 1000, should be 0
    sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set

    @Exxfire #3 还原权限怎么操作??我现在./99%的文件都不是 root 的了,我没法 sudo 啊。

    adrianzhang

    5

    adrianzhang      2024 年 12 月 5 日   ❤️ 3

    进 rescue ,mount 后,把别的同版本 OS 的关键文件都 rsync 过去。

    IvanLi127

    6

    IvanLi127      2024 年 12 月 5 日

    没办法切换到 root 用户?实在不行重启到单用户模式进去改应该可以。

    orioleq

    7

    orioleq      2024 年 12 月 5 日 via iPhone

    记得我知乎看过一个热帖就是根目录权限被改掉了,好像挺难恢复的

    uuair

    8

    uuair      2024 年 12 月 5 日

    我找不到第二台电脑做这事,而且一个一个的改看起来也不现实啊。。。能不能覆盖安装一下?保留/home 不动,直接安装,是不是就可以了?

    Belmode

    9

    Belmode      2024 年 12 月 5 日   ❤️ 4

    少侠好武功

    kneo

    10

    kneo      2024 年 12 月 5 日 via Android

    用你自己的用户把 sudo.conf 改成 root 不行?

    swLoXtOtd89pGg8t

    11

    swLoXtOtd89pGg8t      2024 年 12 月 5 日   ❤️ 1

    找个 liveCD 进去,把 docker tar 包放 home ,home 里面的文件应该是同一用户的,-R 直接改 owner 就行。

    对于 docker 的配置,在/var/lib/docker/containers/*/config.v2.json 可以拿到相关信息。

    至于系统本身是没救了,尤其是 etc ,不同文件对应不同 owner 。

    xuanbg

    12

    xuanbg      2024 年 12 月 5 日   ❤️ 1

    所以我直接用 root

    swLoXtOtd89pGg8t

    13

    swLoXtOtd89pGg8t      2024 年 12 月 5 日

    如果 home 是单独的分区,重装时候不选择格式化 home 就行;如果不是,那就有些麻烦,怎么操作都有丢数据的风险,最好还是找个盘备份出来再动。

    RobinHuuu

    14

    RobinHuuu      2024 年 12 月 5 日 via Android

    其实还可以救。用 livecd 或者恢复环境进去,chroot 方式重新安装 sudo 以及 su 的包。这样保证你能进正常系统用 sudo 和 su ,其他有权限问题的可执行文件用这种方式解决。普通文件有 sudo 后改下权限就行了,就是有点麻烦。

    zgcwkj

    16

    zgcwkj      2024 年 12 月 5 日

    用 dd 命令,把 home 打包一下。重装再还原(也许行

    hukei

    17

    hukei      2024 年 12 月 5 日

    少侠好武功

    encro

    18

    encro      2024 年 12 月 5 日

    @uuair

    看有没有备份,无解,基本很多软件都会开自己的用户。

    keepfun

    19

    keepfun      2024 年 12 月 5 日

    如果是云机器 可以申请 加硬盘

    如果不能加 想办法 通过网络 把文件传出去

    shylockhg

    20

    shylockhg      2024 年 12 月 5 日

    可以备份回滚
    挺多 linux 发行版支持,比如 opensuse 的 snapper

    Geon97

    22

    Geon97      2024 年 12 月 5 日   ❤️ 2

    chown -R 的威力如同 rm -rf

    iyiluo

    23

    iyiluo      2024 年 12 月 5 日   ❤️ 1

    先别重启,有个 docker-autocompose 应用,能把你正在跑的容器转成 docker-comopse.yml ,可以备份当前容器的各种配置,不过你的系统已经烂了,试试能不能把 autocompose 镜像拉下来,然后逐个备份容器生成 yml 文件

    guo4224

    24

    guo4224      2024 年 12 月 5 日

    找个虚拟机,备份一下权限,然后 livecd 进去恢复权限试试?

    konakona

    25

    konakona      2024 年 12 月 5 日

    少侠好功力。
    你没有进行磁盘快照备份吗?
    下次记得千万别飘了,少个.区别太大代价太承重 2333

    权限乱了以后其实更难恢复,听上去是 centOS ,更严,2333

    elechi

    26

    elechi      2024 年 12 月 5 日

    拿个 u 盘做个 livecd 启动,然后把磁盘挂载到 livecd 系统中,改文件权限

    smallparking

    27

    smallparking      2024 年 12 月 5 日 via Android

    u 盘启动
    如果不会就摇人吧

    la2la

    28

    la2la      2024 年 12 月 5 日

    太麻烦了
    如果是云服务的话,临时租个内网服务器,在挂个 oss ,备份好现有数据后,直接重装系统和服务
    如果物理服务器,就借个电脑搞一下,几 T 数据用不了多少时间

    life90

    29

    life90      2024 年 12 月 5 日

    我倒有个傻瓜点的方法。不嫌麻烦的话。
    1 ,首先解决 sudo 。或者以 root 用户登录。这是必须要做的。
    2 ,安装同版本同类型 Linux 发行版。参照权限重新恢复。或者这个安装好的同类型版本 Linux 的权限每个文件 acl 用 shell 打印出来导出成文件。
    3 ,在旧系统,以同样脚本恢复回去。其实这样做完肯定还有问题,只能自己慢慢查日志去解决了。
    如果觉得这样解决时间太长,重新安装配置其实是最优选择。

    0x5c0f

    30

    0x5c0f      2024 年 12 月 5 日

    一般系统提供的包管理软件,以 rpm 为例
    --setperms set permissions of files in a package
    --setugids set user/group ownership of files in a
    这个是可以修复权限的,可以去试试

    yyyb

    31

    yyyb      2024 年 12 月 5 日

    没 rm -rf 就不叫事儿

    uuair

    33

    uuair      2024 年 12 月 5 日

    @jqtmviyu #32 怎么改回来啊??所有的目录都是我自己了,手动我不知道怎么改啊

    inframe

    34

    inframe      2024 年 12 月 5 日

    全部改成 777 ,文件拖出来,重装系统

    zuotun

    35

    zuotun      2024 年 12 月 5 日

    还好只是 chown ,如果是 chmod -R 那就惨了得对着具体文件恢复,你这样找个正常的相同系统直接对着恢复就行。恢复必须要 liveCD 环境,随便找个闲置的存储设备插进去启动就行,另外 sudo 有问题不代表就不能用了,这只是一个软件包没有也能切到 root 。

    uuair

    36

    uuair      2024 年 12 月 5 日

    @kk2syc #15 这个我做了,开了两个 ssh 进去,但就是不成。。。pkexec 哪里始终无法运行。

    cybort

    37

    cybort      2024 年 12 月 5 日 via Android

    如果所有者都是你,那不需要 sudo 啊,直接 chown 改

    COW

    38

    COW      2024 年 12 月 5 日 via Android

    #4 根据错误提示,先用 su 拿到 root ,然后用 chmod 4755 和 chown 把这个文件改一下,把 sudo 问题解决了先。

    feedcode

    39

    feedcode      2024 年 12 月 6 日

    1. 把你自己的 group 加到 admin rules ,以 ubuntu 为例, 只有 sudo/admin group 才行
    cat /usr/share/polkit-1/rules.d/49-ubuntu-admin.rules
    polkit.addAdminRule(function(action, subject) {
    return ["unix-group:sudo", "unix-group:admin"];
    });

    然后再 pkttyagent -p $(echo $$) |pkexec chown root /path/to/file
    (ctrc+c to abort pkttyagent )

    2. 如果你在 docker 组里
    docker run -it --privileged --name fixperm -v /:/host busybox
    然后编辑 /host/path/to/file

    3. 重启时候编辑 Grub menu ,append to kernel command line
    systemd.debug-shell=1
    OR
    init=/bin/sh

    uuair

    40

    uuair      2024 年 12 月 6 日

    @cybort #37
    uuair@uu-ubu:/etc$ ls -l sudoers
    -r--r----- 1 uuair www-data 1800 1 月 30 2024 sudoers
    chown root:root /etc/sudoers
    chown: changing ownership of '/etc/sudoers': Operation not permitted

    怎么可能。。。。

    uuair

    41

    uuair      2024 年 12 月 6 日

    @feedcode #39

    ```
    uuair@uu-ubu:/etc$ groups uuair
    uuair : uuair adm cdrom sudo dip plugdev lpadmin lxd sambashare docker
    ```

    我的 group 包括 uuari ,所以`vi /usr/share/polkit-1/rules.d/49-ubuntu-admin.rules`的时候:

    ```
    polkit.addAdminRule(function(action, subject) {
    return ["unix-group:sudo", "unix-group:uuair"];
    ```

    然后 echo $$ 848784
    `pkttyagent --process 848784`

    ```
    uuair@uu-ubu:/etc$ pkexec chown root:root /etc/sudoer
    pkexec must be setuid root
    ```
    问题还是一样的。

    liuliancao

    42

    liuliancao      2024 年 12 月 6 日

    su 能进 root 吗 能进去就改回去看看
    改的方式 搜索下别人导出来的权限备份(getfacl 导出来的文件,主要是常见的/bin,/usr/bin,/sbin 这几个目录) 然后改回去

    如果进不去就插启动 u 盘 进 rescue 修复

    还不行就把盘拔出来 找个网吧 整个 linux 虚拟机挂载以后用 setfacl 的方式修复下 然后虚拟机试下

    liuliancao

    43

    liuliancao      2024 年 12 月 6 日

    需要 sudo 的文件 需要 chmod u+s 你的文件 这个是 sudo 需要的标志位
    ➜ puppetmaster git:(main) ✗ ls -l /usr/bin/pkexec
    -rwsr-xr-x 1 root root 26776 2023 年 2 月 1 日 /usr/bin/pkexec
    ➜ puppetmaster git:(main) ✗ chmod
    ➜ puppetmaster git:(main) ✗ getfacl /usr/bin/pkexec
    getfacl: Removing leading '/' from absolute path names
    # file: usr/bin/pkexec
    # owner: root
    # group: root
    # flags: s--
    user::rwx
    group::r-x
    other::r-x

    uuair

    44

    uuair      2024 年 12 月 6 日

    @liuliancao #42 我就是没法 sudo 啊。。。因为/etc 目录不是 root 的了,所以只要 sudo 就出现提示:
    sudo: /etc/sudo.conf is owned by uid 1000, should be 0
    sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit s

    zlkent

    46

    zlkent      2024 年 12 月 6 日

    问下 gpt 吧,这里不好贴 gpt 的答案

    uuair

    47

    uuair      2024 年 12 月 6 日

    @liuliancao #45 不成的,都没有 root 权限了
    su: Authentication failure

    我准备 live cd 了。

    yc8332

    48

    yc8332      2024 年 12 月 6 日

    用 root 登录看看行不行,不行就挂到另外的系统上搞,只要数据没删都能搞回来。

    julyclyde

    49

    julyclyde      2024 年 12 月 7 日

    老老实实重装吧
    su/sudo 丢失 setuid 之后,在 ubuntu 这种默认没开 root 用户的系统上你基本上没办法获得 root 权限

    uuair

    50

    uuair      2024 年 12 月 14 日

    我现在不记得 root 的用户了,所以 root 登陆不上。
    回复模式变成只读,也就是 rw single init=/bin/bash 修改后,机器黑屏。。。。
    live cd 的 u 盘也无法启动,估计是 U 盘太新了,容量太大不被支持。。。
    好烦啊。