元の構成ファイルがある sudo

元の構成ファイルがある sudo

root権限でアプリケーションを実行する必要がありますが、アプリケーションは元のユーザーのプロファイルにアクセスする必要があります。したがって、sudoでアプリケーションを実行すると、アプリケーションが正しく実行されません。

元のログインユーザーのプロファイルを引き続き使用するようにroot権限でアプリケーションを起動するにはどうすればよいですか?

Mac OS X 10.10です

ベストアンサー1

アプリケーションは通常、環境変数が表すディレクトリから各ユーザーファイルを読み込みますHOME

デフォルトでは、sudoの値は変更されないため、HOME元のユーザーのホームディレクトリを指しています。これをターゲットユーザーのホームディレクトリに変更するには、sudoのオプションがいくつかあるので、どちらもオンになっていないことを確認してください。

  • always_set_homeファイルでこのオプションを設定しないでくださいsudoers
  • env_resetオプションを設定した場合は、そのオプションをリストにHOME含めます。env_keep
  • -Hまたは、コマンドラインオプションを-s渡さないでください。-i

1 つのコマンドのオプションを設定するには、sudoers次のようなものを使用します。

Defaults !myapp env_keep+=HOME,!always_set_home

変数が保持されているがアプリケーションがそこを見つけることができない場合は、ホームディレクトリで有効なUIDを見つけるのではなく、変数にHOME注意を払うように指示するアプリケーション固有の方法を見つける必要があります。HOME

アプリケーションはrootとして実行する必要がありますが、実際のユーザーに属するファイルを読むことは一般的ではありません。たぶん、これらのファイルはシステム設定ディレクトリにあるべきですか?

おすすめ記事