/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 {} +

결과를 어딘가에 공유할 수 있나요?

추신: Void를 재설치하는 것만으로도 고통스럽습니다. 장거리 여행 중이고 인터넷 접속이 일반적으로 셀룰러 또는 형편없는 Wi-Fi를 통해 이루어지기 때문입니다.

답변1

를 사용하여 영향을 받는 패키지를 다시 설치할 수 있습니다. xbps-install -f그러면 구성 파일을 두 번 지정하지 않는 한 유지됩니다.-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 라이브 디스크에서 가져온 것입니다. 여기구글 드라이브데이터입니다.

관련 정보