ファイルに対するユーザーの有効な権限のテスト

ファイルに対するユーザーの有効な権限のテスト

ファイルに対する特定のユーザーの有効な権限をテストできますか?

通常、su userファイルにアクセスしてこれを行いますが、今ではシェルのないユーザー(システムユーザーなど)でテストしたいと思います。

答え1

次のスクリプトで使用するのが便利だと思います。

 sudo -u <user> test -r <file-to-test> && ...

答え2

このsudoコマンドは、このオプションを使用して特定のユーザーとして何でも実行できます-u。シェルについて心配しないでください。catターゲットユーザーとしてファイルを試してください(または実行)。

$ sudo -u apache cat .ssh/authorized_keys 
cat: .ssh/authorized_keys: Permission denied

答え3

sudo -u <user> test -r <file-to-test>; echo $?

このecho $?セクションではテストの終了ステータスを出力します。

ここで出力は次のとおりです0。作業が次のようになることを覚えておいてください。成功!またはゼロでない場合(たとえば、ゼロ1以外)。

良い@トーマスのコメント実行可能性、書き込み可能性テストなど、man testより多くの運用テストを取得するための@ user72025の回答についてtest -xtest -w

答え4

su -s <shellname> <username>特定のユーザーが特定のシェルに入るために使用できることがわかりました。その後、通常どおりファイル権限をテストできます。

たとえば、

su -s /bin/bash Debian-exim
touch /etc/exim4/exim4.conf.template

関連情報