2

Я нахожусь в ситуации, когда мне приходится выбирать между пользовательскими группами Unix или sudo для решения проблемы.

Чтобы дать некоторое представление, приложение Linux устанавливается как пользователь X. При установке копируются некоторые сценарии и создаются определенные каталоги журналов с разрешениями на выполнение / запись для пользователя X.

Теперь другое приложение с пользователем Y должно запустить X. Оно должно запускать приложение от имени пользователя Y. И оно должно иметь возможность выполнять сценарий запуска и записывать в файлы журнала, которые разрешены для пользователя X.

Чтобы решить эту проблему, я имею в виду 2 решения:

  1. Запустите приложение от имени пользователя Y с помощью sudo/su. Это означает, что мне нужно ввести пароль в скрипт запуска, который может не соответствовать требованиям. Мы можем дать разрешение на чтение только сценарию запуска, но все же.

  2. Добавьте пользователей Y и X в группу и дайте им правильные права доступа группы, чтобы сделать это

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

Пожалуйста, дайте мне знать ваши мысли, и если у вас есть идеи получше.

1 ответ1

3

sudo подразумевает замену переключения пользователей (предоставляя повышение привилегий только при необходимости), а su переключает пользователей - и то, и другое здесь не нужно. Если вам действительно не нужен root, лучше использовать группы и разрешения на уровне файловой системы - это будет несколько проще и безопаснее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .