Должен ли я устанавливать программное обеспечение, не являющееся хранилищем, от имени пользователя root или моего пользователя?

Как правильно устанавливать программы, недоступные в репозиториях: должен ли мой пользователь иметь двоичные файлы и хранить их в ~/bin/, или должен иметь root-права на владение двоичными файлами и хранить их, скажем, в /opt/? 113]

Я имею в виду настольную систему, а не сервер, и обычные программы, которые не требуют каких-либо особых привилегий, таких как запуск при загрузке и т. Д. Я беспокоюсь о безопасности. Если двоичный файл принадлежит пользователю root, имеет режим 755 и он работает от имени моего пользователя, то вирус не сможет перезаписать двоичный файл, в отличие от случая, когда мой пользователь будет владеть двоичным файлом, верно? Я заметил, что все в /usr/bin/ принадлежит root и имеет 755 разрешений.

2
задан 16 April 2013 в 04:32

1 ответ

1116 Чтобы быть более конкретным, здесь нужно сделать две вещи. Вы можете «запустить» программу или «установить» ее.

Запуск

Для запуска программы требуется только, чтобы у исполняемого файла было разрешено разрешение «Выполнить». Программы, запускаемые таким образом, от обычного пользователя, имеют доступ ко всему, к чему пользователь имеет доступ для чтения / записи, обычно это такие каталоги, как /home, /tmp и /media/NAMEOFDRIVE.

Таким образом, вы можете запускать автономные переносимые программы, сценарии и даже создавать программы, используя make, если им не нужно прикасаться к каталогу, принадлежащему Root.

Установка

Установка программы включает в себя копирование ее основных компонентов в ограниченные части ОС для оптимизации ее выполнения и интеграции с другими системами и программами. Для этого требуется разрешение Root, поскольку оно включает запись в каталоги, принадлежащие Root. Причина, по которой существует Root, заключается в том, чтобы не допустить критического повреждения программ или сценариев ружья для ОС без получения строгого разрешения от пользователя или администратора.

Обычно почти каждый каталог в «корне» (/) файловой системы принадлежит и доступен для записи только Root. Исключениями являются /home (где хранятся профили пользователей и данные), /tmp (куда записываются временные файлы для удаления, когда они больше не нужны или после перезагрузки), и, как правило, любая папка в разделе /media (но не сам по себе), так как именно здесь монтируются такие устройства, как USB-накопители и DVD-диски.

Резюме

По сути, если программе или сценарию не нужно писать в каталог, принадлежащий Root, его нельзя запускать как Root. Функция безопасности в Ubuntu (и Linux в целом) состоит в том, чтобы всегда запрашивать у пользователя, когда программа хочет получить доступ к области, контролируемой Root, что означает, что каждый раз, когда вы запускаете что-то вроде APT, вам будет предложено ввести пароль. Единственными исключениями из этого являются программы, разработанные для автоматического запуска при загрузке, но эти программы сначала должны были получить разрешение Root от пользователя, прежде чем его можно было установить.

Также Ubuntu (и некоторые другие дистрибутивы) делают еще один шаг вперед с использованием инструментов sudo и gksu. Вместо первоначальной практики предоставления программе Root-доступа через su, и эта программа затем свободно использует Root до закрытия, sudo и gksu предоставляют Root-доступ только для одной команды, еще больше ограничивая возможности пользователя. случайно дал неправильную программу свободного повтора Root.

0
ответ дан 16 April 2013 в 04:32

Другие вопросы по тегам:

Похожие вопросы: