以下は失敗します。
sudo -u chris ls /root
ls: cannot open directory '/root': Permission denied
次は成功します。
sudo ls /root
...
なぜそうなのか理解できません。 root権限を持つことに加えて、-u
/ runningユーザーを指定されたパラメータに変更すると問題が解決されると仮定します。$USER
この行動の理由は何ですか?
ベストアンサー1
sudo -u chris
chris
rootの代わりにuserとして指定されたコマンドをUSER
実行しますchris
。したがって、chris
アクセスできない場合/root
はsudo -u chris
変更されません。
バラよりman sudo
:
- ゆう ユーザー、- ユーザー=ユーザー
デフォルトのターゲットユーザーではなくユーザーとしてコマンドを実行します(通常根)。
sudo
これは特に「rootとして実行」ツールではなく、「他のユーザーまたはグループとして実行」ツールです。