Я хотел бы разрешить запуск команды под sudo с аргументами или без них. Например, оба из них должны работать:

 rm -f /etc/stuff
 rm /etc/stuff/item.txt

Чтобы заставить это работать, мне нужно это в sudoers:

 Cmnd_Alias ITEM_RM = /bin/rm * /etc/*, /bin/rm /etc/*

Который я тогда назначаю группе. Это работает. Но это заставляет меня удваиваться в каждой команде. Я хотел бы иметь способ иметь только одну запись, которая делает оба:

 Cmnd_Alias ITEM_RM = /bin/rm {something goes here that does both} /etc/*

Я знаю, что один из подходов - это обернуть это в сценарий. Я не хочу этого делать. У меня есть десятки этих записей, и мне нужно, чтобы все они работали с заранее и без знания аргументов.

Я также согласен с тем, что прошу что-то, что представляет угрозу безопасности. Нет смысла напоминать мне об этом. Я собираюсь для некоторой безопасности, а не строгой безопасности. Мне нужно, чтобы люди не причиняли слишком много вреда серверу, но у нас есть брандмауэр-убийца, и этот сервер недоступен с него, поэтому строгая безопасность на корпоративном уровне.

Мысли приветствуются!

1 ответ1

0

Мой опыт показывает, что вы не можете сделать это только с одним утверждением. Фактически, Cmnd_Alias разработан именно для этой цели.

Похоже, вы пытаетесь ограничить пользователей от возможности удалять только записи в /etc /stuff. Как насчет записей в их домашних каталогах?

Для чего стоит, помните, что по умолчанию у всех есть доступ к команде "rm", поэтому вам не нужно предоставлять им явный доступ к этому. Однако они смогут действовать только на объекты, для которых совпадают владение и разрешения. Возможно, вы захотите подойти к вашей проблеме с этой точки зрения. (групповое владение и членство, а также настройки umask).

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