ファイルに対する特定のユーザーの有効な権限をテストできますか?
通常、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 -x
test -w
答え4
su -s <shellname> <username>
特定のユーザーが特定のシェルに入るために使用できることがわかりました。その後、通常どおりファイル権限をテストできます。
たとえば、
su -s /bin/bash Debian-exim
touch /etc/exim4/exim4.conf.template