/usr、Void Linuxでファイルの所有権を変更する

/usr、Void Linuxでファイルの所有権を変更する

chown -R root:root /usrVoid Linuxシステムに精神を失った

ls -lR /usrVoidシステムの結果をメールで送信していますか?すべてが正しく機能するようにこれらの変更を確認し、この質問に結果を投稿します。

msp9011の答えに基づいてxfce4、networkmanagerシステムに関する情報が必要であることに気づき、結果を投稿してください。

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

そして

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

結果をどこかに共有できますか?

PS:Voidを再インストールするだけで痛いです。長距離旅行中で、インターネット接続は通常、携帯電話や不便なWi-Fi経由で行われているためです。

答え1

を使用して、影響を受けるパッケージを再インストールできます。xbps-install -fこれにより、設定ファイルを2回指定しない限り保持されます。-f

 -f, --force
     Force downgrade installation (if package version in repos is less
     than installed version), or reinstallation (if package version in
     repos is the same) to the target PKG, overwriting regular package
     files and symlinks (if they have been modified) but preserving
     configuration files.  If -f is specified twice all files will be
     unpacked, even configuration files.

xbps-pkgdb(1)パッケージファイルに関する多くの問題を検出できますが、残念ながら現在の所有者/モードではありませんが、追加すると良い機能になります。

答え2

これがあなたに必要なものであることを願っています。

[root@localhost usr]# find /usr/ \(  ! -group root \)  -exec ls -l {} +
-rwx--s--x. 1 root slocate   38464 Mar 12  2015 /usr/bin/locate
-rwxr-sr-x. 1 root nobody   141384 Aug 31  2017 /usr/bin/ssh-agent
---s--x---. 1 root stapusr  183072 Jun 19  2018 /usr/bin/staprun
-r-xr-sr-x. 1 root tty       15224 Jul 24  2015 /usr/bin/wall
-rwxr-sr-x. 1 root tty       12016 Jan 26  2018 /usr/bin/write
-rwx--s--x. 1 root utmp      17160 May  9  2018 /usr/lib64/vte/gnome-pty-helper
-rwx--s--x. 1 root utmp       9808 Aug 18  2010 /usr/libexec/utempter/utempter
-rwx--s--x. 1 root lock      15808 Aug 19  2010 /usr/sbin/lockdev
-rwxr-sr-x. 1 root postdrop 189000 Mar 23  2017 /usr/sbin/postdrop
-rwxr-sr-x. 1 root postdrop 217832 Mar 23  2017 /usr/sbin/postqueue
-r-s--x---. 1 root apache    13984 Jun 19  2018 /usr/sbin/suexec

/usr/libexec/utempter:
total 12
-rwx--s--x. 1 root utmp 9808 Aug 18  2010 utempter

答え3

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

スクリプトの復元権限.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ドライブフォルダに追加しました。このファイルは最新のvoid xfce4ライブディスクからのものです。ここGoogleドライブデータです。

関連情報