新しい sudoers ファイルへのユーザーの追加を自動化する最も簡単な方法は何ですか?
質問
そこで、micronxdを追加しました。micronxd をパスしました。次に、micronxd を sudo ユーザーにしたいと思います。
このプロセスをできるだけシェル スクリプトに詰め込もうとしています。可能であれば、sudoers ファイルを sed することで解決できますか?私はその獣のように小さなナゲット (sed) をしっかりと把握したいと思っています。
解決
sudoers
ファイルは実際にのみ編集する必要があります visudo(8)
.
そうは言っても、おそらく追加する必要があります micronxd
に wheel
追加するときのグループ micronxd
ユーザー(参照 adduser(8) --add_extra_groups
オプション)そして、この行をに追加します sudoers
(経由 visudo(8)
:) :
%wheel ALL=(ALL) ALL
これで、プライマリグループまたは補足グループで作成するすべてのユーザー wheel
取得 sudo
自動的にアクセスします。編集する必要はないかもしれません sudoers
もう一度ファイルします。
(好きな人を簡単に追加できることに注意してください wheel
グループ; vigr(8)
, 、 を見つける wheel
グループ、ログイン名をラインに追加します。コンマを使用してユーザー名を分離します。)
他のヒント
わかったわかった!完全にわかりました。これは少しやりすぎかもしれませんが、sudoers ファイルが diff ディストリビューション間で同じであるかどうかはわかりません。
sed の保持バッファに関するドキュメントをここで見つけました。 http://anaturb.net/sed.htm
そして、sed の x コマンドについては次のようになります。 http://www.kingcomputerservices.com/unix_101/hands_off_editing_with_sed_part_2.htm
そして私はこれを思いつきました:sed -e '/^root/{h;}' -e 'x' -e 's/root/micronxd/' -e 'x' -e '/^root/G' -e 'wsudoers' sudoers
6つのステップの内訳は次のとおりです。
1.
'/^root/{h;}'
で始まるコメントされていない行を検索します 根, 、保持バッファをそれに置き換えます。
- 通常の sed バッファ:[sudoers ファイル全体]
- 保持バッファ: ルート ALL=(ALL) ALL
2.
'バツ'
保持バッファを通常の「sed'd」バッファと交換します。
- 通常の sed バッファ: ルート ALL=(ALL) ALL
- 保持バッファ:[sudoers ファイル全体]
3.
's/root/micronxd/'
root を micronxd に置き換えます
- 通常の sed バッファ: micronxd ALL=(ALL) ALL
- 保持バッファ:[sudoers ファイル全体]
4.
'バツ'
保持バッファを通常の「sed'd」バッファと再度交換します。
- 通常の sed バッファ:[sudoers ファイル全体]
- 保持バッファ: micronxd ALL=(ALL) ALL
5.
'/^ルート/G'
G は行一致の後に保持バッファを追加します ^ルート.
- 通常の sed バッファ (関連ビットのみ):
##
root ALL=(ALL) ALL が任意の場所で任意のコマンドを実行できるようにする
ルート ALL=(ALL) ALL
micronxd ALL=(ALL) ALL
- 保持バッファ: micronxd ALL=(ALL) ALL
6.
'wsudoers'
通常の sed バッファを sudoers に書き込みます
もっと良い方法があると思いますが、sed のコツを掴もうとしています。さらに、かどうかはわかりませんでした user MACHINE=COMMANDS ????
これはすべての Linux システム、または単なる Fedora (私が扱っているもの) の構文です。
とにかく、他の方法 (特により良い方法) を見てうれしいです。