Создайте виртуальных пользователей (пользователей, которых нет в системе) в Ubuntu для SSH - PullRequest
0 голосов
/ 12 октября 2018

У меня есть ситуация, когда люди могут войти в SSH для запуска определенного приложения.Ssh-username - это имя пользователя для запуска приложения.Если вошел в систему для пользователя, который существует в системе (/ etc / passwd): тогда SSH перетянет их в командную оболочку (например, root получит корневую оболочку)

Я хочу разрешить пользователям входить в систему через ssh, но пользователь, которого они используют для входа, не существует в системе.Если пользователь пытается войти (до аутентификации по паролю или ключевому файлу) с несуществующим пользователем, запускается скрипт bash (root).Этот bash-скрипт может считывать имя пользователя для входа и устанавливать список разрешенных авторизованных ключей.(аутентификация по паролю не допускается).После успешного входа в систему снова запускается сценарий bash (на этот раз он может не быть пользователем root) в терминале, который они НЕ МОГУТ завершить или отменить.Этот скрипт bash МОЖЕТ также прочитать, какое имя пользователя для входа используется.Сценарий bash запускает приложение (в качестве аргумента используется имя пользователя) под определенным системным пользователем (убедитесь, что приложение находится под этим пользователем!) В оболочке SSH.Обещаю, это не дубликат.

В bash-скриптах не должно быть пользователей.

...