闯了大祸,根目录权限变成我自己了。

6 天前
 uuair

我的磁盘空间不够了,之前分区的时候没搞好,根目录给了 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 文件了,但现在拷贝不出来

7955 次点击
所在节点    Ubuntu
49 条回复
FoxRiverMan
6 天前
先恢复关键系统目录的所有权吧
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
6 天前
这什么都不用干吧, 就算都是你的, root 用户照样能读写
Exxfire
6 天前
不懂,直接权限还原回去会遇到什么问题?
uuair
6 天前
@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
6 天前
进 rescue ,mount 后,把别的同版本 OS 的关键文件都 rsync 过去。
IvanLi127
6 天前
没办法切换到 root 用户?实在不行重启到单用户模式进去改应该可以。
orioleq
6 天前
记得我知乎看过一个热帖就是根目录权限被改掉了,好像挺难恢复的
uuair
6 天前
我找不到第二台电脑做这事,而且一个一个的改看起来也不现实啊。。。能不能覆盖安装一下?保留/home 不动,直接安装,是不是就可以了?
Belmode
6 天前
少侠好武功
kneo
6 天前
用你自己的用户把 sudo.conf 改成 root 不行?
NevadaLi
6 天前
找个 liveCD 进去,把 docker tar 包放 home ,home 里面的文件应该是同一用户的,-R 直接改 owner 就行。

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

至于系统本身是没救了,尤其是 etc ,不同文件对应不同 owner 。
xuanbg
6 天前
所以我直接用 root
NevadaLi
6 天前
如果 home 是单独的分区,重装时候不选择格式化 home 就行;如果不是,那就有些麻烦,怎么操作都有丢数据的风险,最好还是找个盘备份出来再动。
RobinHuuu
6 天前
其实还可以救。用 livecd 或者恢复环境进去,chroot 方式重新安装 sudo 以及 su 的包。这样保证你能进正常系统用 sudo 和 su ,其他有权限问题的可执行文件用这种方式解决。普通文件有 sudo 后改下权限就行了,就是有点麻烦。
kk2syc
6 天前
zgcwkj
6 天前
用 dd 命令,把 home 打包一下。重装再还原(也许行
hukei
6 天前
少侠好武功
encro
6 天前
@uuair

看有没有备份,无解,基本很多软件都会开自己的用户。
fenglangjuxu
6 天前
如果是云机器 可以申请 加硬盘

如果不能加 想办法 通过网络 把文件传出去
shylockhg
6 天前
可以备份回滚
挺多 linux 发行版支持,比如 opensuse 的 snapper

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

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

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

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

© 2021 V2EX