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

Как ограничить созданных пользователей каталогом и отключить SSH для VSFTPD

Я искал свои ответы в Google в течение нескольких часов, и, похоже, я не могу получить прямого ответа на свои вопросы. Я нашел много руководств, но многие из них расплывчаты.

В любом случае:

Недавно я установил VSFTPD на свой сервер. Я использую CentOS 6.4 (если это имеет значение). Я создал пользовательский тест с помощью useradd, и он может успешно войти в систему (с SSH и FTP). Однако вот что я хочу сделать:

Создайте пользователей (с помощью useradd) для использования с VSFTPD и отключите для них SSH. С помощью этих пользователей ограничьте их своим веб-каталогом (например, /var/www/domain/example.com), чтобы они могли входить в систему с помощью FTP и загружать, редактировать, удалять и создавать каталоги в примере.

Для справки это мой файл конфигурации:

anonymous_enable = НЕТ

local_enable = ДА

write_enable = ДА

local_umask = 022

dirmessage_enable = ДА

xferlog_enable = ДА

connect_from_port_20 = ДА

xferlog_std_format = ДА

chroot_local_user = ДА chroot_list_enable = ДА

слушать = ДА

pam_service_name = vsftpd userlist_enable = ДА tcp_wrappers = ДА

Большое спасибо. Приносит извинения, если мое объяснение недостаточно информативно. Я не знаю, как это описать.

Я предполагаю, что вы в основном спрашиваете, как запретить пользователю использовать SSH, поскольку, насколько я могу судить, ваша конфигурация vsftpd должна быть подходящей, если для параметра chroot_local_user установлено значение yes.

Вы можете просто изменить оболочку пользователя на что-то вроде / bin / false (обязательно добавьте его в / etc / shells, чтобы предотвратить возможные проблемы с ftp-сервером), и ваш пользователь сможет аутентифицироваться в SSH, но он просто получит сбросили обратно.

В качестве альтернативы вы мог используйте AllowUsers / DenyUsers в / etc / ssh / sshd_config - но это может потребовать обновления конфигурации ssh каждый раз, когда вы меняете, кому разрешено входить в систему, тогда как вы можете установить оболочку пользователя в / bin / false с помощью команды useradd, используя

useradd -s /bin/false <everything else>

Затем, если вы позже захотите предоставить им доступ по SSH, вы можете просто использовать usermod, чтобы изменить их оболочку на bash (например).