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ルート)は必要ありません。能力これは、rootユーザー全体が実行できる操作のサブセットであり、時には十分ですが、所有権が変更されるとファイルのフラグが削除されます。ヘルパーに対する特定の権限は、アクセスが制限されたユーザーまたはプロセスのサブセットにのみ予約されています。

これは後者の場合です/usr/lib/dbus-1.0/dbus-daemon-launch-helper

これPSdbus(このファイル提供) 以下のように権限と所有権を変更します。

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

関連情報