1

Мне нужно включить команду для нескольких пользователей, включенную при создании пользователей. В настоящее время у меня есть что-то вроде (на SLES 12 SP1 Linux)

Cmnd_Alias S3CP = /usr/local/bin/prog param1 param2 * # constraining usage
u1 ALL=(u1-helper) NOPASSWD: S3CP
u2 ALL=(u2-helper) NOPASSWD: S3CP
u3 ALL=(u3-helper) NOPASSWD: S3CP
# etc...

То, что я хотел бы сделать, это убрать эти локальные украшения из основного конфига и поместить их в /etc/sudoers.d/ чтобы лучше управлять изменениями в конфигах.

90-myapp-u1.conf # containing the Cmnd_Alias and the authorization
90-myapp-u2.conf # similarly

Но это может привести к дублированию определений Cmnd_Alias от второго пользователя и далее. Есть ли способ проверить, если псевдоним уже определен и пропустить команду? Аналог правила MATCH или #ifndef. ИЛИ, есть ли другой, идиоматический способ сделать то же самое? Я не хочу указывать псевдоним команды.

Большое спасибо.

1 ответ1

1

Лучшее решение для фрагментов, вероятно, заключалось бы в том, чтобы просто поместить свой S3CP в отдельный фрейминг отдельно от его использования. Так что сделай что-нибудь подобное. Затем в вашей системе управления конфигурацией будет обязательно установлен s3cp перед добавлением любых других фрагментов, которые пытаются его использовать.

/etc/sudoers.d/s3cp

Cmnd_Alias S3CP = /usr/local/bin/prog param1 param2 * # constraining usage

/etc/sudoers.d/u1

u1 ALL=(u1-helper) NOPASSWD: S3CP

/etc/sudoers.d/u2

u2 ALL=(u2-helper) NOPASSWD: S3CP

/etc/sudoers.d/u3

u3 ALL=(u3-helper) NOPASSWD: S3CP

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .