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

SSHd выполняет действия на основе имени пользователя

Мой веб-хостинг использует элегантный способ обработки нескольких сайтов, сохраняя при этом каждый из них автономным. Для меня войти через ssh, Я использую следующее:

ssh hostname -l username1_sitename1

Это делает что-то вроде chroot-перехода меня к конкретному каталогу, связанному с sitename1 и изменение моего UID на совпадение. То же самое, если бы я использовал ssh hostname -l username1_sitename2и т.д. Логин для username1 использует один и тот же пароль каждый раз, а hostname остается постоянным.

Если другой пользователь, username2, был нужен доступ к sitename1 тогда они могут получить доступ к указанному сайту, используя аналогичную схему:

ssh hostname -l username2_sitename1

и им будет присвоен тот же UID, что и username1 получает при доступе sitename1.

Я хочу воспроизвести аналогичную схему на одном из моих компьютеров. Можно ли добиться этого, не добавляя вручную каждое воплощение username_sitename в систему?

Краткий ответ: Тысячи скриптов Perl, сынок!

Длинный ответ: как только вы попадаете в большую хостинговую игру, вы хотите, чтобы все выполнялось с помощью сценариев, а все ваши серверные процессы общались друг с другом. Ручное вмешательство означает проигрыш. Вам нужен доступ в один клик для приостановки, создания, удаления и т. Д. Таким образом, он, скорее всего, создан не «вручную», но кто-то на их стороне получил представление о том, как они хотят реализовать что-то, а затем написал необходимый код для добавления этих имена во все подходящие места, настроить разрешения и т. д. Как и большинство подобных вещей с хостингом, это можно сделать, вам просто нужно реализовать это в соответствии с вашими конкретными желаниями.