Назад | Перейти на главную страницу

Делит пользователя сервера со сценариями запуска, специфичными для каждого разработчика (с использованием SSH)

В LAMP для веб-приложений на PHP мы используем общее владение: все файлы принадлежат пользователю веб-мастеру и группе www-data. Пользовательский веб-мастер имеет полный доступ, www-данные (используемые apache) в основном доступны только для чтения. Несколько администраторов / разработчиков подключаются к этому серверу через SSH от одного и того же пользователя (веб-мастера).

Я бы хотел, чтобы несколько разработчиков могли входить в систему для веб-мастеров через SSH в интерактивной оболочке, но иметь свои собственные настраиваемые сценарии запуска.

Возможные решения:

  1. Измените .profile / .bashrc, чтобы распознавать разных удаленных пользователей. Но я не знаю как, я не могу использовать удаленный пользовательский IP (мы часто работаем из дома).
  2. Используйте ssh так, как он открывает интерактивную оболочку на удаленном сервере, а затем вызывает определенную команду на удаленном сервере внутри этой оболочки. Еще лучше, если настраивается в .ssh / .config, поэтому командная строка все еще может быть простой ssh myserveralias. Но я тоже не знаю, как это сделать.

Решение, которое я нашел: используйте опцию SSH SendEnv на клиент плюс AcceptEnv на сервере передать на сервер, например, локальную переменную имени пользователя. Затем измените .profile / .bashrc на сервере, чтобы использовать эту переменную для изменения поведения.

  1. Я думаю, что вам следует:

    • чтобы все веб-файлы принадлежали реальному владельцу, уникальному владельцу на конкретного пользователя.
  2. Я бы вставил строку ~ webuser / .ssh / authorized_keys для каждого пользователя 'public key' command = / foo user1 ', где user1 будет его настоящим именем пользователя. Команда '/ foo' будет запускать некоторые команды, как описано в конфигурации, где вы определили, что для пользователя user1 запускается то или иное ...

В любом случае, не лучше ли настроить использование sudo и хорошее владение, и ваши пользователи должны входить в систему с собственным логином пользователя?