
この質問は次のようになります。これが、もっと明確に表現されてほしいです。
これが/home
NFSマウントディレクトリであり、NFSサーバーでルート圧縮が有効になっているとします。ファイルを読み取るにはroot権限が必要で、ファイルを書き込むには一般ユーザー権限が必要な次のスクリプトを検討してください。
#!/bin/bash
cat /etc/shadow
touch ~/shadow
このスクリプトが実行されないと、sudo
ユーザーは読み取ることができません/etc/shadow
。ただし、実行スクリプトを使用すると、ルートが圧縮され、ルートに書き込むことsudo
ができません。~/shadow
sudo
このスクリプトを実行するときに必要なすべてのコマンドを含めずにスクリプトで正常に実行できるように、rootにユーザー権限を付与できますか?
上記の理由で私はsudo
使用を避けようとしています。ここ。
答え1
でスクリプトを実行できます。ただし、sudo
必要がない場合やファイルシステムを処理するときにnfs
root権限を放棄するようにスクリプトを変更できます。
#!/bin/bash
cat /etc/shadow
su -c 'touch ~/shadow' - <some_user>