恢复在/ usr,Void Linux下文件的已更改所有权

巴特·范·迪恩(Bart van Deenen)

我失去了理智,我chown -R root:root /usr在Void Linux系统上做过

有人会这么友善地ls -lR /usr将Void系统上的结果邮寄给我吗我将仔细研究这些更改,使所有内容再次正常运行,然后在此问题中将我的发现发表在这里。

根据msp9011的回复,并意识到我需要有关xfce4,networkmanager系统的信息,请从以下位置发布结果:

find /usr/ \(  -perm -4000 \)  -exec ls -l {} +

find /usr/ \( ! -group root \)  -exec ls -l {} +

您可以在某处分享结果吗?

PS只是重新安装Void会很痛苦,因为我正要去长途旅行,而且我的互联网访问通常是通过蜂窝网络或不良的wifi进行的。

巴特·范·迪恩(Bart van Deenen)

我通过Void live usb棒恢复了权限!我做了一个find /usr -printf "0%m %u:%g %p\n" > permissions-all生成具有/ usr中所有权限的文件。然后从无聊的安装启动,我使用了一个简单的bash脚本来还原所有权限。xbps-install -f如果连接性很差,并且想要还原系统的大部分内容(例如xfce4),是有问题的。谢谢大家的思考,我学到了很多东西!

/ usr / permissions-all的头

0755 root:root /usr
0755 root:root /usr/lib
0755 root:root /usr/lib/libimobiledevice.so.6.0.0
0777 root:root /usr/lib/libsoxr.so.0
0777 root:root /usr/lib/libXvMCr600.so.1.0
0777 root:root /usr/lib/libwebpmux.so.3
0755 root:root /usr/lib/audit
0755 root:root /usr/lib/audit/sotruss-lib.so
0777 root:root /usr/lib/libfontenc.so.1
0755 root:root /usr/lib/libvulkan_radeon.so
0755 root:root /usr/lib/libthunarx-3.so.0.0.0
0777 root:root /usr/lib/libturbojpeg.so.0

脚本restore-permissions.sh

#!/bin/bash
set -e
while read p ug f
do
    if [ -e "$f" ] ; then
        ug_=$(find "$f" -maxdepth 0 -printf "%u:%g")
        p_=$(find "$f" -maxdepth 0 -printf "0%m")
        if [ "$ug_" != "$ug"  ] ; then
            echo "$f wrong ug $ug_ should be $ug, fixing"
            chown $ug "$f"
        fi
        if [ "$p_" != "$p"  ] ; then
            echo "$f wrong perms $p_ should be $p, fixing"
            chmod $p "$f"
        fi
    fi
done < permissions-all

我已经将我permissions-all的还原脚本和还原脚本添加到了公共的google-drive文件夹中,因此任何有相同问题的人都可以尝试。该文件来自最新的无效xfce4活动磁盘。在这里google-drive是数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章