user1を作成し、を使用してユーザーをuser2アカウントに切り替えようとしましたsudo -i user2
。ただし、次のエラーが発生します。
Sorry, user user1 is not allowed to execute '/bin/bash -c user2' as root on hostname.
これに関して私を助けてください。
ベストアンサー1
sudo -i user2
user2
まったく切り替えないでください。文字通り、「user2
rootログイン環境と一致する環境でrootとしてコマンドを実行する」という意味です。
に切り替えるには、user2
コマンドにこの-u user2
オプションを含める必要があります。
それでもうまくいかない場合は、sudo -iu user2
コマンドをさらに変更できるスクリプト、エイリアス、またはシェル関数がありますか?このコマンドを実行するときtype -a sudo
または実行して、実際に実行される内容を確認してください。command -v sudo
あるいは、非常に古いシステムを使用している場合は、最新のシステムのようにすべてのオプションを理解できない可能性がありますsudo
。しかし、これはシステムが20年を超えたことを意味します。
実行してみてください。あなたに適用される現在の項目はsudo -l
すべてリストされなければなりません。/etc/sudoers
/etc/sudoers
user1
シェルの実行に許可される項目user2
は次のとおりです。
user1 ALL=(user2) /bin/bash
または、任意のコマンドが実行されるようにしてくださいuser2
。
user1 ALL=(user2) ALL
(最初はALL
ホスト名を表します。共有ファイルを使用する大規模環境ではない限り、一般的には使用されず、sudoers
ホスト名の解決に問題がある場合は問題を回避するALL
ためにプレースホルダとして使用されます。)sudo