Если я имею ниже sudoers записи
usera ALL=(userb) NOPASSWD: /home/userc/bin/executable-file
usera ALL=(userb) NOPASSWD: /home/userc/bin/link-to-another-executable-file
Когда я вхожу в систему как Усера и пытаюсь работать ниже команд, он работает
sudo -u userb /home/userc/bin/executable-file
но НЕ тот ниже.
sudo -u userb /home/userc/bin/link-to-another-executable-file
Sorry, user usera is not allowed to execute '/home/userc/bin/link-to-another-executable-file' as userb on hostname.
Какие-либо идеи?
Когда Вы говорите link-to-another-executable-file
Я предполагаю, что Вы имеете в виду символьную ссылку (иначе, это просто был бы исполняемый файл).
Я подозреваю, что sudo применяет полномочия к месту назначения символьной ссылки и приводит к сбою, но сообщает об этом как о символьной ссылке. Это сообщает о символьной ссылке, потому что это - то, что Вы пытались выполнить, и поэтому сообщение не является таинственным.
Если это верно, sudo делает точно правильную вещь: защита Вас от who-knows-what в другом конце символьной ссылки. Вы могли бы попытаться перечислить место назначения символьной ссылки (то есть, реальный исполняемый файл) в sudoers
.