중앙화 된 sudo에 FreeIPA 사용하기-모든 명령을 지정하는 방법? 모델로 머리를 감싸는

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에서와 같이 어떻게 지정 합니까? 이것이 와일드 카드 (예 : *) 일 수 있습니까?



답변

사용자 그룹이로 명령을 실행할 수있게하려면 명령 그룹을 만들 필요가 없습니다 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에서이 작업을 수행 할 수도 있습니다.


답변

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
...