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