Как предоставить общим пользователям доступ к программам, установленным в другой пользовательской области, а не в глобальном каталоге?

Вопрос или проблема

Я установил пакет (согласно инструкциям), но заметил, что он не установил бинарный файл в директорию /usr/bin, а вместо этого в пользовательскую область.

Как лучше всего предоставить другим пользователям доступ к этому пути, не предоставляя им доступ sudo?
Добавить путь в их файл .profile?

Заранее спасибо за любые ответы.
Очень признателен 🙂

Не забудьте сделать резервную копию папки приложения перед изменениями, и что вам нужно перезагрузить, чтобы новые настройки $PATH вступили в силу.

Я написал этот ответ на основе предоставленной информации, и он может сработать, а может и нет.

Вы можете переместить эту установку в директорию /opt/, а затем добавить ее в переменную path. Далее я пишу, предполагая, что все находится в одной папке в вашей директории /home/user-name и что пользовательские данные записываются в поддиректорию ~/.config/.

sudo mv /home/"$USER"/<application-folder> /opt/
sudo chown -R root:root /opt/<application-folder>

Когда вы переместили всю вещь и изменили право собственности, добавьте PATH="/opt/<application-folder>:$PATH" в файл ~/.profile и то же самое для каждого пользователя, которому разрешено использовать это приложение. Сделайте это следующим образом:

# в случае вашего собственного .profile
echo "PATH="/opt/<application-folder>:$PATH"" >> ~/.profile

# в случае профиля других пользователей
echo "PATH="/opt/<application-folder>:$PATH"" | sudo tee -a /home/<user-name>/.profile

Ответ или решение

Предоставление доступа к программам, установленным в пользовательской области, может быть выполнено с помощью нескольких шагов, которые обеспечат безопасность системных настроек и избавят пользователей от необходимости использовать привилегии суперпользователя. Это особенно важно, если установленные программы находятся в пользовательской директории, такой как домашняя папка пользователя, а не в общем системном каталоге, таком как /usr/bin.

Шаг 1: Перемещение программы в общедоступный каталог

Поскольку ваша программа изначально была установлена в домашнюю директорию пользователя, оптимальным решением будет переместить её в более общедоступный, но всё равно защищённый каталог, такой как /opt. Это сделает программное обеспечение доступным для всех пользователей, сохраняя при этом его изоляцию от критически важных системных файлов.

sudo mv /home/"$USER"/<имя-папки-программы> /opt/
sudo chown -R root:root /opt/<имя-папки-программы>

Шаг 2: Настройка переменной среды PATH

После перемещения программы необходимо обновить системный путь для пользователя, добавив к нему новый каталог. Это можно сделать, добавив изменение в файл .profile кажого пользователя, который должен иметь доступ к программам.

Для изменения PATH выполняйте следующую команду для каждого необходимого пользователя:

# в .profile вашего пользователя
echo "PATH=\"/opt/<имя-папки-программы>:\$PATH\"" >> ~/.profile

# в .profile другого пользователя
echo "PATH=\"/opt/<имя-папки-программы>:\$PATH\"" | sudo tee -a /home/<имя-другого-пользователя>/.profile

Шаг 3: Применение изменений

После изменения файла .profile пользователи должны выйти из системы и войти снова для применения изменений. Для проверки, что настройки PATH успешно применены, выполните команду echo $PATH после входа в систему и убедитесь, что путь /opt/<имя-папки-программы> теперь присутствует в списке.

Рекомендации по безопасному развертыванию

  1. Резервное копирование: Всегда делайте резервную копию программы перед её перемещением. Это позволит избежать потери данных в случае ошибки.

  2. Тестирование: После изменений убедитесь, что программа работает корректно для всех пользователей, направив их наставления по тому, как использовать новый путь.

  3. Ограничение прав доступа: Убедитесь, что к каталогу /opt/<имя-папки-программы> имеют доступ только те пользователи, которым это действительно необходимо.

Следование этим шагам обеспечит безопасный и эффективный доступ к установленным программам, таким образом, чтобы они были доступны для необходимых пользователей, минимизируя риски и сохраняя управляемость системной конфигурации.

Оцените материал
Добавить комментарий

Капча загружается...