Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Как добавить разработчика на Linux-сервер: SSH-ключи и права доступа

Обновлено: 27.08.2026 · Официальная документация ↗

Задача: дать программисту доступ только к его проекту

Давать разработчикам пароль от root-пользователя категорически небезопасно. Правильный подход: завести отдельную учетную запись, настроить авторизацию по ключу и ограничить права только рабочей директорией /var/www/site.

Сравнение прав доступа

ПараметрRoot доступ (Плохо)Изолированный пользователь (Правильно)
Права в системеПолный контроль над ОСТолько чтение/запись в свой проект
Аудит действийНевозможно понять, кто авторКаждое действие зафиксировано в логах
БезопасностьРиск случайного удаления ОСИзоляция системных файлов

Пошаговое создание пользователя и настройка прав

  1. Создаем нового пользователя:
    sudo adduser devuser
  2. Создаем каталог для SSH-ключей нового юзера:
    sudo mkdir -p /home/devuser/.ssh
    sudo chmod 700 /home/devuser/.ssh
  3. Добавляем публичный ключ разработчика:
    sudo nano /home/devuser/.ssh/authorized_keys
    # Вставьте открытый ключ (ssh-rsa / ssh-ed25519) и сохраните файл
    sudo chmod 600 /home/devuser/.ssh/authorized_keys
    sudo chown -R devuser:devuser /home/devuser/.ssh
  4. Назначаем права на директорию веб-проекта:
    # Делаем пользователя и веб-сервер совладельцами папки:
    sudo usermod -aG www-data devuser
    sudo chown -R devuser:www-data /var/www/my_site
    sudo chmod -R 775 /var/www/my_site

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

💡 Практика специалистов: Используйте команду chmod g+s /var/www/site (SGID бит), чтобы все новые файлы, создаваемые разработчиком, автоматически наследовали группу www-data.

Частые вопросы (FAQ)

Как разработчику подключиться по новому ключу?

Командой в консоли: ssh -i ~/.ssh/id_rsa devuser@IP_СЕРВЕРА.

Что делать, если веб-сервер не может записывать загружаемые файлы?

Убедитесь, что папка uploads принадлежит группе www-data и имеет права 775.

Как заблокировать доступ уволенному разработчику?

Удалите его ключ из ~/.ssh/authorized_keys или заблокируйте аккаунт: sudo usermod -L devuser.

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

Выполните команду sudo su - devuser.

Полезные материалы
Рекомендуем