1

だから、私はmicronxdを追加しました。私はmicronxdをパスしました。今、micronxd を sudo ユーザーにしたいです。

このプロセスを可能な限りシェルスクリプトに詰め込もうとしています。可能であれば、sudoers ファイルを sed することで解決できますか? その獣のような小さなナゲット (sed) をしっかりと把握したいと思います。

4

2 に答える 2

5

sudoersファイルは実際にはvisudo(8).

そうは言っても、おそらく、ユーザーを追加するときにグループに追加micronxdするだけで (オプションを参照)、次の行を(via :)に追加する必要があります。wheelmicronxdadduser(8) --add_extra_groupssudoersvisudo(8)

%wheel ALL=(ALL) ALL

これで、プライマリ グループまたは補助グループで作成したすべてのユーザーが自動的にアクセス権をwheel取得します。ファイルを再度sudo編集する必要はないかもしれません。sudoers

(グループに追加したい人は誰でも簡単に追加できることに注意してくださいwheel; vigr(8)、グループを見つけて、wheelそのログイン名を行に追加します。ユーザー名を区切るにはカンマを使用してください。)

于 2011-03-18T02:50:14.283 に答える
0

よしよしよし!私は完全にそれを手に入れました。これは少しやり過ぎかもしれませんが、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で始まるコメント化されていない行を検索し、保持バッファーをそれで置き換えます。

  • 通常の sed バッファ: [sudoers ファイル全体]
  • 保持バッファ: root ALL=(ALL) ALL

2. 'バツ'

保持バッファを通常の「sed される」バッファと交換します。

  • 通常の sed バッファー: root 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 は、 ^rootに一致する行の後に保持バッファーを追加します。

  • 通常の sed バッファー (関連するビットのみ):

##root ALL=(ALL) ALL がどこでもコマンドを実行できるようにする
root ALL=(ALL) ALL
micronxd ALL=(ALL) ALL

  • 保持バッファ: micronxd ALL=(ALL) ALL

6. 'wsudoers'

通常の sed バッファを sudoers に書き戻します

もっと良い方法があると確信していますが、sedのコツをつかもうとしています。さらに、user MACHINE=COMMANDS ????すべての Linux システムの構文なのか、Fedora の構文なのか (これは私が扱っているものです) もわかりませんでした。

とにかく、私は他の方法 (特により良い方法) を見てうれしいです。

于 2011-03-18T03:14:26.183 に答える