一元化されたsudoにFreeIPAを使用する-すべてのコマンドを指定する方法


9

FreeIPAのモデルに頭を抱えるのに苦労しています。FreeIPA マニュアルには次のように記載されています。

FreeIPAは、sudoコマンドグループを使用して追加の制御手段を追加します。これにより、コマンドのグループを定義して、sudo構成に1つとして適用できます。

しかし、それらの例は基本的に、sudoコマンドグループの作成、および「ファイル」sudoコマンドグループのような特定の sudoコマンドの追加について説明しています。vimless

例えばコマンドラインから:

ipa sudocmdgroup-add --desc 'File editing commands' files

ipa sudocmd-add --desc 'For editing files' '/usr/bin/vim'

ipa sudocmdgroup-add-member --sudocmds '/usr/bin/vim' files

しかしALL、/ etc / sudoersで行うように、どのように指定しますか?ワイルドカードを使用できますか(例:*)?

回答:


9

ユーザーのグループがで任意のコマンドを実行できるようにする場合は、コマンドグループを作成する必要はありませんsudo。すべてのコマンドを許可するsudoルールが必要であり、FreeIPAのインストール時にデフォルトで1つ作成されているはずです。

# ipa sudorule-find All
-------------------
1 Sudo Rule matched
-------------------
  Rule name: All
  Enabled: TRUE
  Host category: all
  Command category: all
  RunAs User category: all
  User Groups: admins
----------------------------
Number of entries returned 1
----------------------------

(そのようなルールが存在しない場合は、作成してください。)

ipa sudorule-add --cmdcat=all All

ユーザーまたはグループをsudo、任意のコマンドで実行できるようにするこのsudoルールに追加します。

ipa sudorule-add-user --groups=admins All

必要に応じて、Web UIからこれを行うこともできます。


ルールはデフォルトでは存在せず、あなたのルールに一致するルールを取得するには少し労力を要しました。つまり、「%admins ALL =(ALL)ALL」ですが、今は啓蒙の道にいると思います。感謝します!
HTTP500

これは、コマンドラインよりもWeb UIで明らかにはるかに簡単なタスクの1つです。CLIでそれを実現するのにかなり時間がかかりました。
Michael Hampton

同意し、私はWeb UIでルールを完成させました。
HTTP500

すべてのホストでルールを有効にしたい場合、ルールの--hostcat=all作成時に指定しないと、sudoが許可されないことに気付きました(このオプションを既存のルールに追加するには、を発行しますsudorule-mod --hostcat=all)。
nivs

2
@ HTTP500 OPまたはAccepted Answerに記載されていないことを行う必要がある場合は、他の人に手順/詳細を提供してください。つまり、ルールはデフォルトでは存在せず、ルールを取得するのに少し手間がかかりましたそれはあなたのものに一致しました ...どんな仕事が必要でしたか?どのようにして望ましい結果を達成しましたか?
0xSheepdog

0

ALLルールに追加する場合は、値を指定したカテゴリオプションを使用できますall。次のようなコマンド、--cmdcat=allホストの--hostcat=all場合、ユーザーの場合--usercat=all、さらにいくつかあります。

これらのオプションはすべて、に表示されipa sudorule-add --helpます。

$ ipa sudorule-add --help
Usage: ipa [global-options] sudorule-add SUDORULE-NAME [options]

Create new Sudo Rule.
Options:
  -h, --help            show this help message and exit
  --desc=STR            Description
  --usercat=['all']     User category the rule applies to
  --hostcat=['all']     Host category the rule applies to
  --cmdcat=['all']      Command category the rule applies to
  --runasusercat=['all']
                        RunAs User category the rule applies to
  --runasgroupcat=['all']
                        RunAs Group category the rule applies to
...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.