私は現在CentOSでVPSを実行しています。sudo
アカウントを無効または有効にするスクリプトを実行するアプリケーションがバックグラウンドで実行されています。
だから私が作成したいのは、アカウントを作成し、パスワードを追加し、「etc / sudoers」の下にユーザーを追加するスクリプトです。
スクリプトは root として実行されるため、許可エラーがあってはなりません。このスクリプトをどのように書くのですか?
答え1
私は同じことを探していましたが、これまで私が思いついた最善の方法は、次のように/etc/sudoers
ファイルにUnixグループを追加することです。
# Members of the sftpadmin group may gain root privileges
%sftpadmin ALL=(ALL) ALL
次に、システムにユーザーを追加するときは、次のコマンドを使用してグループに追加しますuseradd
。
useradd ... -g sftpadmin ... newuser
このファイルには、/etc/sudoers
特にこの目的のためにホイールと呼ばれるグループも含まれています。コメントアウトされていますが、コメントアウトを解除し、ホイールグループへのフルアクセスを許可したいユーザーの追加を開始できます。この/etc/sudoers
資料には2つの例が含まれています。 1つは人々にパスワードを尋ねることであり、もう1つはそうではありません。
## Allows people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
また、代わりに次のstackoverflow投稿をチェックしてください。https://stackoverflow.com/questions/323957/how-do-i-edit-etc-sudoers-from-a-script。ファイルを実行しvisudo
て手動で編集する/etc/sudoers
ときに実行するアクションを自動化するカスタムスクリプトを作成する方法について説明します。
答え2
あなたはそれを使用することができますユーザーが追加されましたコマンドを使用してユーザーを作成しますが、実際にはユーザーをsudoersファイルに自動的に追加しないでください。このファイルは通常渡されます。ビジュド注文する。特に、自動化された方法で直接編集するとエラーが発生し、ファイルが破損する可能性があります。確かにあなたが扱いたい状況ではありません。