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

UBUNTU: ftp-сервер не может сменить каталог при входе пользователя в систему

Я настроил FTP-сервер (vsftpd) только для одного клиента (ftuser). Этот пользователь должен иметь доступ к папке / srv / webroot / user. Папка / srv и все подпапки принадлежат мне. Я не принадлежу к той же группе, что и ftpuser. Теперь я попытался реализовать разрешение пользователя следующим образом:

chmod 770 -R /srv
chmod 777 -R /srv/webroot/user

Но когда пользователь пытается войти через ftp, FTP-сервер говорит:

500 OOPS: cannot change directory: /srv/webroot/user

Просто в качестве попытки я дал пользователю права на всю структуру папки с помощью

chmod 777 -R /srv

Теперь он не только может войти в систему, но также имеет доступ к корневой папке (/) и всем другим подпапкам (например, / etc, / home, ...).

Как мне установить права, чтобы мой пользователь мог входить в систему и получать доступ только к / srv / webroot / user?

Чтобы позволить пользователю перейти в конкретный каталог cd, пользователь должен иметь x разрешение (бит 1 в числовом формате). Если вы не хотите предоставлять это разрешение всем, вам необходимо разрешить его для группы g+x или пользователь u+x. Конечно, вам также необходимо установить правильное владение.

Если вы хотите, чтобы пользователь видел только свои собственные файлы, вам необходимо установить параметры, связанные с chroot, в vsftpd.conf. Ограничение доступа пользователей ftp с помощью «chmod» и «chown» - плохой способ. Пользователь должен иметь возможность писать в свой корневой каталог ftp для входа в систему.

heinob - в /etc/vsftpd.conf есть следующий раздел

# You may specify an explicit list of local users to chroot() to their home directory. If chroot_local_user is YES, then this list becomes a list of users to NOT chroot().(Warning! chroot'ing can be very dangerous. If using chroot, make sure that the user does not have write access to the top level directory within the chroot)
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

Вы уверены, что chroot_local_user=YES не раскомментировано?