4755 usr/lib/dbus-1.0/dbus-daemon-launch-helper에 대한 권한이 안전합니까?

4755 usr/lib/dbus-1.0/dbus-daemon-launch-helper에 대한 권한이 안전합니까?

Ubuntu 22.04.2 LTS 시스템(서버가 아닌 개인용 컴퓨터)에서 많은 파일에 대한 권한을 어떻게든 엉망으로 만들었고 이로 인해 몇 가지 문제가 발생했습니다. 최근에는 Users and GroupsGUI를 통해 시작할 수 없다는 사실을 발견했습니다 .

결과는 다음과 같은 오류 메시지입니다.

The configuration could not be loaded. An unknown error occurred.

조사 결과 (4744) /usr/lib/dbus-1.0/dbus-daemon-launch-helper에서 (4755)로 권한을 변경하면 프로그램이 다시 실행되는 것으로 나타났습니다.-rwsr-xr---rwsr-xr-x

ls -l /usr/lib/dbus-1.0/dbus-daemon-launch-helper권한을 조사하고 권한을 변경하는 데 사용합니다 sudo chmod +x /usr/lib/dbus-1.0/dbus-daemon-launch-helper.

이거 안전한가요? 그렇지 않다면 프로그램을 다시 작동시킬 수 있는 옵션은 무엇입니까?

답변1

도우미는 향상된 권한을 갖고 사용자 또는 사용자 프로세스가 해당 작업을 직접 수행하지 않고도 기능을 사용할 수 있도록 돕는 도구입니다. 따라서 기능을 복원하기 위해 권한이 반환된 것은 놀라운 일이 아닙니다.

하지만. 일부 권한은 다음을 얻기 위해 루트(따라서 setuid 루트)가 필요하지 않습니다.능력, 이는 전체 루트 사용자가 수행할 수 있는 작업의 하위 집합이며 때로는 충분하지만 소유권이 변경되면 파일의 플래그가 제거됩니다. 도우미에 대한 특정 권한은 액세스가 제한된 사용자 또는 프로세스의 하위 집합에만 예약되어 있습니다.

이것은 후자의 경우이다 /usr/lib/dbus-1.0/dbus-daemon-launch-helper.

이것추신dbus(이 파일 제공) 다음과 같이 권한과 소유권을 변경합니다.

MESSAGEUSER=messagebus
LAUNCHER=/usr/lib/dbus-1.0/dbus-daemon-launch-helper

(사용자/그룹이 존재하지 않는 경우에도 생성됩니다)

dpkg-statoverride --update --add root "$MESSAGEUSER" 4754 "$LAUNCHER"

messagebus현재 OP의 경우와 같은 프로세스가 아닌 해당 그룹의 프로세스로 사용을 제한하십시오 .

이제 시스템이 제대로 작동하므로 가장 쉬운 방법은 dbus패키지를 다시 설치하여 권한을 수정하는 것입니다.

apt-get reinstall dbus

또는 수동으로:

chown root:messagebus /usr/lib/dbus-1.0/dbus-daemon-launch-helper
chmod 4754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper

특히 접근성 도구가 관련된 경우에는 영향을 받는 다른 모든 파일을 확인해야 할 수도 있습니다.


패키지 메타데이터 파일에 대한 추가 참고 사항 postinst:

  • 찾아야 할 패키지:

    dpkg -S /usr/lib/dbus-1.0/dbus-daemon-launch-helper
    

    대답해야 한다:

    dbus: /usr/lib/dbus-1.0/dbus-daemon-launch-helper
    
  • 패키지의 메타데이터는 어디에 있나요?

    FOO 패키지의 경우 지금까지 항상 다양한 파일에 있었습니다 (다중 아키텍처 패키지(일반적으로 라이브러리)의 경우 다른 아키텍처를 /var/lib/dpkg/info/FOO.*포함하거나 제공할 수도 있음 ).:amd64/var/lib/dpkg/info/FOO:amd64.*

    확인할 스크립트는 postinst다음과 같습니다.

    /var/lib/dpkg/info/dbus.postinst
    
  • 패키지가 설치되지 않았습니다:

    cd /tmp
    apt-get download dbus
    dpkg --raw-extract dbus_*.deb /tmp/somewhere
    
    less /tmp/somewhere/DEBIAN/postinst
    

이 파일은 일반적으로 자동으로 생성되지만 dbus소스에 제공됩니다. 다음은 Debian 저장소 파일에 대한 링크입니다(일부 오래된 Ubuntu 태그도 포함되어 있지만 내용은 거의 동일합니다):debian/dbus.postinst

관련 정보