Я пытаюсь настроить файл 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
не совсем подходящий инструмент для такого рода ограничений. Если вам действительно нужно делегировать возможность смены владельца в определенной иерархии, подобной этой, то лучше всего, вероятно, написать простой сценарий оболочки на вашем любимом языке сценариев высокого уровня, который выполняет итерацию по своим аргументам пути, очищает их и проверяет их против списка разрешенных префиксов.