使用 FreeIPA 进行集中 sudo-如何指定所有命令?

使用 FreeIPA 进行集中 sudo-如何指定所有命令?

我很难理解 FreeIPA 的模型。FreeIPA手动的状态:

FreeIPA 使用 sudo 命令组添加了额外的控制措施,允许定义一组命令,然后将其作为一个命令应用于 sudo 配置。

但他们的例子基本上谈论创建 sudo 命令组并添加特别的sudo 命令类似vimless添加到“文件”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 中那样指定呢?可以使用通配符(例如 *)吗?

答案1

如果您希望一组用户能够使用 执行任何命令,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

如果愿意,您也可以通过 Web UI 执行此操作。

答案2

当您想要添加ALL规则时,可以使用带有值的 category 选项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
...

相关内容