Обязанностью программиста приложения является обеспечение того, чтобы приложение теряло привилегии root и работало с непривилегированными правами. Если приложение этого не делает, вы ничего не можете с этим поделать - кроме отказа от использования приложения, отправки отчета об ошибке разработчику или внесения необходимых изменений в код самостоятельно.
С другой стороны, вы , как администратор, выбираете, от имени какого пользователя запускается приложение; Золотое правило - никогда не предоставлять процессу больше привилегий, чем необходимо для его запуска. Таким образом, вы можете создать непривилегированного пользователя - загляните в / etc / passwd
, чтобы получить представление о системных учетных записях - и запустить приложение от имени этого пользователя. (Вам редко приходится делать это вручную; обычно все это делается при установке программного обеспечения через диспетчер пакетов.) Однако, если приложение требует для запуска привилегий root, а затем не может отказаться от таких привилегий в середине бег, то это выходит из-под вашего контроля.
Например, более старые версии sendmail
требовали запуска SUID root, что было дырой в безопасности, если удаленному злоумышленнику удавалось успешно использовать уязвимость программы.Если бы у вас был sendmail
, работающий только как почтовый ретранслятор, вы могли бы запустить его как непривилегированный пользователь.
измените сценарий оболочки, чтобы указать полный или относительный путь к исполняемому файлу:
./executableFile ...
При интерактивном использовании вы должны иметь либо .
или каталог cardme / bin
в вашем PATH: это будет неверно в среде cron.