중앙화 된 sudo에 FreeIPA 사용하기-모든 명령을 지정하는 방법?


9

FreeIPA의 모델로 머리를 감싸는 데 어려움을 겪고 있습니다. FreeIPA 매뉴얼 에는 다음 이 명시되어 있습니다 .

FreeIPA는 sudo 명령 그룹을 사용하여 추가 제어 측정을 추가하여 명령 그룹을 정의한 다음 sudo 구성에 하나로 적용 할 수 있습니다.

그러나 이들 예제는 기본적으로 sudo 명령 그룹 작성 및 "files"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를 설치할 때 기본적으로 하나를 작성해야합니다.

# 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

원하는 경우 웹 UI에서이 작업을 수행 할 수도 있습니다.


이 규칙은 기본적으로 존재하지 않으며 "% admins ALL = (ALL) ALL"과 일치하는 규칙을 가져 오는 데 약간의 작업이 필요했지만 지금은 깨달음의 길을 가고 있다고 생각합니다. 감사합니다!
HTTP500

이것은 웹 UI에서 명령 줄보다 훨씬 쉬운 작업 중 하나입니다. CLI에서 그것을 멀리까지 얻는 데 꽤 오랜 시간이 걸렸습니다.
Michael Hampton

동의하며 웹 UI에서 규칙을 완료했습니다.
HTTP500

모든 호스트에서 규칙을 적용하려면 규칙을 --hostcat=all만들 때 지정하지 않고 sudo가 허용되지 않는 것을 알았 습니다 (이 옵션을 기존 규칙에 추가하면 가능함 sudorule-mod --hostcat=all).
nivs

2
@ HTTP500 OP 또는 수락 된 답변에 나열되지 않은 작업을 수행해야하는 경우 다른 사람을위한 단계 / 세부 사항을 제공하십시오. 즉 기본적으로 규칙이 존재하지 않았으며 규칙을 얻는 데 약간의 작업이 필요 당신과 일치 ... 어떤 작업이 필요합니까? 원하는 결과를 어떻게 얻었습니까?
0xSheepdog

0

ALL규칙 에 추가 하려면 category 옵션을 value와 함께 사용할 수 있습니다 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.