Я пытаюсь настроить сценарии fastcgi для каждого пользователя, которые будут запускаться каждый на другом порту и с другим пользователем. Вот пример моего сценария:
#!/bin/bash
BIND=127.0.0.1:9001
USER=user
PHP_FCGI_CHILDREN=2
PHP_FCGI_MAX_REQUESTS=10000
и т.д...
Однако, если я добавлю пользователя с / bin / false (чего я хочу, так как это будет что-то вроде общего хостинга, и я не хочу, чтобы у пользователей был доступ к оболочке), сценарий запускается под 1001, 1002 'user' что, как показал мой поиск в Google, может быть дырой в безопасности. Мой вопрос: можно ли разрешить пользователям выполнять сценарии оболочки, но отключить их, чтобы они не могли входить в систему через SSH?
Во-первых, зачем вам /bin/false
как оболочка пользователя? Почему бы просто не иметь /bin/bash
как оболочка, и AllowGroups
или DenyGroups
установка в sshd_config
? Это решает проблему входа в систему по ssh. Будет ли у пользователя доступ к оболочке без прав входа в систему через ssh?
В качестве альтернативы вы можете настроить сценарий пользовательской среды в качестве оболочки пользователя и поместить пользователя AllowGroups
или DenyGroup
установка в sshd_config
. Конечно, ваш сценарий должен быть заблокированным. Это решает проблему с пользовательской средой и проблему входа в систему по ssh.
Другими словами, какую проблему вы пытаетесь решить?
Использовать DenyUsers
или DenyGroups
настройки в sshd_config
.
Это возможно, но если вы уберете их оболочку, то нет, они не смогут выполнять сценарии оболочки. Нет ничего необычного в том, чтобы установить оболочку пользователя на / sbin / nologin, но это приведет к тому же результату, что и установка оболочки на false.
Самый прямой ответ, который был предложен, - это отредактировать sshd_config и ограничить доступ к оболочке там.
Большинство других способов ограничения доступа менее очевидны, чем просто настройка протокола доступа для их запрета.
Попробуйте использовать / bin / true вместо / bin / false и посмотрите, повлияет ли это на него.
/ bin / false всегда возвращает ненулевое значение, что может вызвать проблемы. / bin / true будет работать так же, как / bin / false, за исключением того, что возвращает ноль.
Вы можете полностью заблокировать удаленный вход пользователя в систему с помощью PAM:
/etc/security/access.conf:
- : user : ALL EXCEPT LOCAL
Вместо одного пользователя вы можете использовать группу. Подробности в man access.conf
Тогда нет необходимости устанавливать пользовательскую оболочку на / bin / false.