Мне сложно осмыслить модель 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
...