sudo -iでエラーが発生する

sudo -iでエラーが発生する

user1を作成し、を使用してユーザーをuser2アカウントに切り替えようとしましたsudo -i user2。ただし、次のエラーが発生します。

Sorry, user user1 is not allowed to execute '/bin/bash -c user2' as root on hostname.

これに関して私を助けてください。

ベストアンサー1

sudo -i user2user2まったく切り替えないでください。文字通り、「user2rootログイン環境と一致する環境でrootとしてコマンドを実行する」という意味です。

に切り替えるには、user2コマンドにこの-u user2オプションを含める必要があります。

それでもうまくいかない場合は、sudo -iu user2コマンドをさらに変更できるスクリプト、エイリアス、またはシェル関数がありますか?このコマンドを実行するときtype -a sudoまたは実行して、実際に実行される内容を確認してください。command -v sudo

あるいは、非常に古いシステムを使用している場合は、最新のシステムのようにすべてのオプションを理解できない可能性がありますsudo。しかし、これはシステムが20年を超えたことを意味します。

実行してみてください。あなたに適用される現在の項目はsudo -lすべてリストされなければなりません。/etc/sudoers

/etc/sudoersuser1シェルの実行に許可される項目user2は次のとおりです。

user1 ALL=(user2) /bin/bash

または、任意のコマンドが実行されるようにしてくださいuser2

user1 ALL=(user2) ALL

(最初はALLホスト名を表します。共有ファイルを使用する大規模環境ではない限り、一般的には使用されず、sudoersホスト名の解決に問題がある場合は問題を回避するALLためにプレースホルダとして使用されます。)sudo

おすすめ記事