Debian: настройка FTP-сервера vsftpd

Автор: | 03/04/2013
 

debian-logo_lenny2Устанавливаем на:

# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 6.0.6 (squeeze)
Release:        6.0.6
Codename:       squeeze

Установка:

# aptitude -y install vsftpd

Проверим:

# service vsftpd status
vsftpd is running

Или так:

# netstat -npl | grep vsftpd
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      17321/vsftpd

Открываем для редактирования файл конфигурации /etc/vsftpd.conf:

Устанавливаем запуск при старте системы, а не через inetd:

listen=YES

При необходимости – разрешаем анонимные подключения:

anonymous_enable=YES

Разрешаем авторизацию пользователям системы:

local_enable=YES

Разрешаем им запись в их каталогах:

write_enable=YES

Закрываем пользователей в chroot – их домашних каталогах:

chroot_local_user=YES

Перезагружаем сервер:

# service vsftpd restart
Stopping FTP server: vsftpd.
Starting FTP server: vsftpd.

Учтите, что если у пользователя закрыт доступ по SSH, например методом описанным в Debian: запретить shell-доступ пользователю, и при этом в конфигурации vsftpd активен режим chroot то путь /bin/false должен быть прописан в файле /etc/passwd.

Проверим, подключившись с другого хоста:

$ lftp [email protected]
Password:
lftp [email protected]:~> ls -la
drwxr-xr-x    2 1001     1001         4096 Apr 01 09:22 .
drwxr-xr-x    2 1001     1001         4096 Apr 01 09:22 ..
-rw——-    1 1001     1001            8 Apr 01 09:22 .bash_history
-rw-r–r–    1 1001     1001          220 Mar 21 14:59 .bash_logout
-rw-r–r–    1 1001     1001          132 Mar 22 13:05 .bashrc
-rw-r–r–    1 1001     1001          675 Mar 21 14:59 .profile