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

Невозможно SSH после добавления другого пользователя в группу целевого пользователя SSH

Пытаюсь сделать веб-интерфейс для игрового сервера.

У меня есть пользователь / группа «игровой сервер», у которого есть игровые файлы и конфигурации (не sudoer). И пользователь / группа "www-data", о которых вы все знаете, предназначены для веб-приложения.

Теперь, к сожалению, я видел сообщения людей, которые просили или предлагали добавить www-данные в группу «sudo», чтобы позволить ей изменять файлы где-нибудь еще. Очень плохая практика по соображениям безопасности.

Я хочу разрешить www-data изменять файлы внутри файлов / папок пользователя «игровой сервер» без прав «root».

Насколько я знаю, есть несколько способов сделать это:

  1. Измените права доступа к файлам / папкам на чтение / запись глобально.
  2. Измените владельца группы файлов / папок на «www-data».
  3. Добавьте пользователя www-data в группу gameserver.

Первые два потребуют изменения разрешений или владельца для каждого вновь создаваемого файла или папки. Поэтому последний способ кажется наиболее вероятным. Однако после выполнения:

usermod -a -G gameserver www-data

чтобы добавить пользователя "www-data" в группу "gameserver", я больше не могу использовать SSH для пользователя "gameserver". И получите ошибку:

Permission denied (publickey).

Похоже, в этом посте есть похожая проблема: Ошибка сбоя канала SSH после добавления пользователя в группу

Но на самом деле вопрос не решает.

Почему добавление другого пользователя в мою группу пользователей не позволяет мне получить доступ к моему пользователю через SSH? И как я могу решить эту проблему?

Обратите внимание, что «www-data» действительно может записывать файлы, принадлежащие пользователю «gameserver».

Чтобы обратить эффект, я SSH к "root" и выполняю:

gpasswd -d www-data gameserver

Удалить пользователя www-data из группы gameserver

Изменить 01:

Как указал в 1-м комментарии Райан Бабчишин, у него это работает. Я пробовал на другом сервере, и он работает. На данный момент эта проблема характерна только для серверов OVH. Они указали, что используют собственное ядро ​​в ответ на более раннюю проблему, когда я не мог использовать команды SystemV для запуска, остановки или перезапуска службы. Я подал еще один билет. Но до сих пор не понимаю, какое отношение это имеет к разрешениям Linux.

Какие разрешения на ~gameserver/.ssh/authorized_keys? Если они доступны для групповой записи, SSH-сервер откажется их использовать, потому что кто-то, кроме целевого пользователя, может добавить произвольные ключи. Я могу заставить свой домашний компьютер отказываться принимать мою пару ключей с chmod g+w .ssh/authorized_keys.

Теперь, в вашем случае вы не изменили биты разрешений (предположительно), но, возможно, ваше собственное ядро ​​или просто другая реализация sshd, чем мой компьютер, будет принимать ключи с возможностью групповой записи до тех пор, пока нет других пользователей в группа? Тогда если ты делать имеют странные разрешения, такие как 664, sshd будет принимать вход в систему, пока вы не измените членство в группе. Немного укол в темноте, но звучит наполовину правдоподобно.