настройка веб-пользователя php сервера

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

:~$ groupadd -g 1005 webgroup
//I then changed the group and permissions of a current user I had already created
:~$ sudo usermod -g 1005 -s /bin/false -d /home/webuser/ webuser

При попытке войти в систему с помощью этой учетной записи я ввожу имя пользователя [webuser] и пароль, но он просто перенаправляет меня обратно к Логин: подскажите. Я попытался сбросить пароль, но проблема все еще не исчезла.

Может кто-нибудь сказать мне, что я делаю неправильно, или предложить другой метод, который бы достиг того же результата (если не лучший).

Похоже, я не хочу, чтобы пользователь вообще мог войти в систему. Однако (мое понимание этой концепции, по-видимому, очень мало, поэтому терпите меня), не должен ли пользователь входить в систему для получения веб-запросов этим пользователем? Другими словами, веб-запросы принимаются и интерпретируются пользователем, который вошел в систему в это время (правильно?). Если это постоянно работающий сервер и он всегда включен в нашей серверной комнате, то не должен ли зарегистрированный пользователь быть моим «веб-пользователем», которого я только что создал, чтобы ограничить доступ людей, пытающихся взломать его?

1
задан 12 February 2014 в 16:44

3 ответа

Чего именно ты пытаешься достичь? В этом вопросе говорится, что вы хотите разрешить доступ только к выбранным каталогам, но ваш комментарий к ответу Tenach предполагает, что вы вообще хотите запретить вход в систему.

Лучший способ заключить пользователя в определенную иерархию каталогов - это синхронизировать сеансы SSH, и есть обучающих программ о том, как это сделать в Интернете. Я не рекомендую полагаться исключительно на разрешения Unix для защиты.

0
ответ дан 12 February 2014 в 16:44

Вам не нужно, чтобы кто-либо «входил» на сервер для запуска веб-сервера. Веб-сервер (Apache?) Будет работать под именем nobody, apache, http или любым другим пользователем, для которого предназначен сервис. Он будет подавать контент на любые допустимые запросы, если он включен. Поскольку он запускается daemonized, он будет продолжать работать без активного входа в систему. Кроме того, никто не должен входить в систему как пользователь веб-сервера из соображений безопасности.

Если вы хотите, чтобы пользователи могли загружать и размещать новый контент на веб-сервере, фактически не предоставляя им доступ к машине, им не нужен доступ по SSH (хотя вы могли бы дать им это). Им действительно нужен доступ по FTP. в защищенном месте на ящике, который веб-сервер настроен для чтения из . Обычно большинство веб-серверов читают из /var/www - хотя вы можете настроить его для чтения из любого каталога в системе. Они не должны постоянно входить в систему, чтобы он работал. Просто войдите через FTP - загрузите файлы - обновите браузер.

0
ответ дан 12 February 2014 в 16:44

Вы используете / bin / false, который соединяется, а затем закрывает ваше соединение. Возможно, установка оболочки пользователя в / bin / bash решит эту проблему.

:~$ chsh -s /bin/bash webuser

Когда я проверил / etc / shells, я не увидел в списке / bin / false.

0
ответ дан 12 February 2014 в 16:44

Другие вопросы по тегам:

Похожие вопросы: