Назад | Перейти на главную страницу

Использование FreeIPA для централизованного sudo - как указать ВСЕ команды?

Мне сложно осмыслить модель FreeIPA. FreeIPA руководство состояния:

FreeIPA добавляет дополнительную меру контроля с группами команд sudo, которые позволяют определять группу команд и затем применять их к конфигурации sudo как одну.

Но их примеры в основном говорят о создании группы команд sudo и добавлении частности команды sudo вроде vim и less в группу команд sudo "файлы".

например из командной строки:

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

Вы также можете сделать это из веб-интерфейса, если хотите.

Когда вы хотите добавить 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
...