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

использование подстановочных знаков для путей в файле sudoers

Я пытаюсь настроить файл sudoers, чтобы пользователи могли просматривать файлы только в определенном каталоге

например

%hmis    ALL=/bin/chown eng:hmis /usr/lib/bogimac/bsc/*

нехорошо, потому что хакеры могут делать следующее:

sudo chown eng:hmis /usr/lib/bogimac/bsc/xctrl.py /etc/important_file

Кто-нибудь знает, как этого избежать?

Спасибо

Мы реализовали следующее, что, кажется, работает

Cmnd_Alias EDIT =  /bin/rvi /usr/lib/bogimac/bsc/*, \
                  !/bin/rvi /usr/lib/bogimac/bsc/* *, \
                  !/bin/rvi /usr/lib/bogimac/bsc/*..*

Спасибо за ответ, я об этом не подумал. Поскольку мне нужно использовать команду chown только для этой конкретной команды:

chown eng:hmis /usr/lib/bogimac/bsc/*

Я решил сделать сценарий оболочки, запускаемый только с правами root, а затем разрешить запуск этой команды в sudo, см. Ограничьте sudo только одним каталогом и его подкаталогами файлом sudoers

Даже если вы решите сиюминутную проблему, кто-то все равно сможет напечатать ...

sudo chown eng:hmis /usr/lib/bogimac/bsc/../../../etc/shadow

Или любая другая перестановка из вышеперечисленного. sudo не совсем подходящий инструмент для такого рода ограничений. Если вам действительно нужно делегировать возможность смены владельца в определенной иерархии, подобной этой, то лучше всего, вероятно, написать простой сценарий оболочки на вашем любимом языке сценариев высокого уровня, который выполняет итерацию по своим аргументам пути, очищает их и проверяет их против списка разрешенных префиксов.