Я пытаюсь заставить chroot работать с виртуальными пользователями Pure-FTPD, но по какой-то причине он просто не работает.
Я изменил следующие параметры:
/ etc / default / pure-ftpd-common:
VIRTUALCHROOT=true
/ etc / pure-ftpd / conf / Chroot
yes
И добавил виртуального пользователя с домашним каталогом, который выглядит следующим образом:
Login : <someuser>
Password : <foo>
UID : 1003 (ftpuser)
GID : 1003 (ftpgroup)
Directory : /home/<homedir>/./
Что мне здесь не хватает?
Попробуйте установить VIRTUALCHROOT = false и "/./" из домашнего каталога пользователя.
/ etc / default / pure-ftpd-common:
VIRTUALCHROOT=false
cat / etc / pure-ftpd / conf / Chroot
yes
При перезапуске существует опция -A:
/etc/init.d/pure-ftpd restart Перезапуск ftp-сервера: Запуск: / usr / sbin / pure-ftpd -l pam -O clf: / var / log / pure-> ftpd / transfer.log -u 1000 -E -А -8 UTF-8 -B
/ etc / passwd:
test:x:1001:1001::/home/test:/bin/sh
Chroot работа:
# ftp localhost
Connected to localhost.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 11:03. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (localhost:ooshro): test
331 User test OK. Password required
Password:
230-User test has group access to: test
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful
150 Connecting to port 40034
226-Options: -l
226 0 matches total
Решил это.
Оказалось, что мой FTP-сервер работал через inetd вместо автономного.
При настройке в режиме inetd кажется, что каталог conf игнорируется.