вторник, 16 июля 2013 г.

Настраиваем FTP сервер на OpenSUSE на примере vsftpd


Постановка задачи:
Настроить FTP сервер на OpenSUSE
Без анонимного доступа.
Создать одного пользователя с возможностью записи в заданную папку.
Остальные пользователи должны иметь доступ в свои домашние папки.
Все пользователи должны быть закрыты в своих домашних папках, но должна быть возможность выборочно разрешать выход в файловую систему (согласно правам самих пользователей)

su
zypper install vsftpd
zypper install yast2-ftp-server
yast
YAST->Network Services->FTP Server:
Start-Up->Service Start->(x) When booting
General->[x] Chroot Everyone
General->FTP Directory for Authenticated Users=/storage/ftp
Authentication->Enable/Disable Anonymous and Local->(x) Authenticated Users Only
Authentication->Uploading->[x] Enable Upload
/etc/init.d/vsftpd restart
mkdir /storage/ftp
mkdir /storage/ftp/ftpuser
groupadd ftp-users
chown root:ftp-users /storage/ftp
chown ftpuser:ftp-users /storage/ftp/ftpuser
useradd -g ftp-users -d /storage/ftp/ftpuser ftpuser
passwd ftpuser
chmod 550 /storage/ftp
chmod 750 /storage/ftp/ftpuser
Мой рабочий конфиг (/etc/vsftpd.conf)

pasv_min_port=30000
pasv_max_port=30100
anon_mkdir_write_enable=NO
anon_root=/srv/ftp
anon_upload_enable=NO
chroot_local_user=YES #Закрывает пользователей в своих домашних директориях
allow_writeable_chroot=YES #Боремся с ошибкой 'vsftpd: refusing to run with writable root inside chroot ()'
passwd_chroot_enable=YES 
chroot_list_enable=YES #В файле /etc/vsftpd.chroot_list содержится список пользователей, которых не надо закрывать в своей домашней директрии
ftpd_banner=Welcome message
idle_session_timeout=900
log_ftp_protocol=NO
max_clients=10
max_per_ip=3
pasv_enable=YES
ssl_sslv2=NO
ssl_sslv3=NO
ssl_tlsv1=YES

Комментариев нет: