Предположим, у меня есть такая строка в моем /etc/aliases
:
foo-bar: "| / etc / smrsh / some_script"
some_script
выполняется как пользователь mail
, но мне нужно, чтобы он работал как пользователь nobody
.
я использую procmail
как локальный агент доставки, а система - это какой-то ублюдочный RHEL.
Как я могу настроить sendmail или procmail на то, что я хочу?
Вы можете сделать это с помощью sudo и другого скрипта. В / etc / sudoers разрешите почтовому пользователю запускать команды от имени пользователя nobody (и только пользователя nobody) без пароля, примерно так:
mail ALL = (nobody) NOPASSWD: /usr/bin/script2
тогда содержимое some_script будет оберткой для script2:
sudo -u nobody /usr/bin/script2
script2 затем будет выполняться от имени пользователя nobody.
Обратите внимание, я не даю никаких гарантий, что в этом нет огромных дыр в безопасности.