[vsftpd] Wirtualne konta ftp
Kategoria: FAQ, etykiety: virtualhost, vsftpd
Dodany: 2010-06-27 17:08
(zmodyfikowany: 2010-06-30 12:32)
Przez: jezoo
Wyświetleń: 11878
W tym odcinku podzielę się jak stworzyć konta wirtualne oparte na bazie danych PostgreSQL.
Na początek musimy zainstalować sobie pakiety: postgresql-server, vsftpd oraz pam
Nastepnie tworzymy usera i tabele, nadajemy uprawnienia do czytania i wstawiania do tabeli (BiExi opisała jak obsługiwać PostgreSQL i jak tworzyć konta użytkowników i bazy danych):
CREATE TABLE vsftpd (
id SERIAL NOT NULL,
login character varying(30) NOT NULL,
password character varying(100) NOT NULL,
basedir character varying(128) NOT NULL,
expired boolean NOT NULL default false
);
Wstawiamy przykladowe dane:
INSERT INTO vsftpd(login,password,basedir) VALUES('vuser',md5('tajne haslo'),'/katalog/wirtualnego/usera');
Teraz konfigurujemy serwis PAM. Wchodzimy do katalogu PAM (/etc/pam.d/) i tworzymy plik PAM dla vsftpd, czyli ee vsftpd i wpisujemy:
auth required pam_pgsql.so config_file=/etc/pam_pgsql_vsftpd.conf
account required pam_pgsql.so config_file=/etc/pam_pgsql_vsftpd.conf
password required pam_pgsql.so
tworzymy plik plik konfiguracyjny w /etc ee pam_pgsql_vsftpd.conf i wpisujemy:
debug
database=vsftpd
port=5433
user=vsftpd
password=tajneHaslo
table=vsftpd
user_column=login
pwd_column=password
expired_column=expired
pw_type=md5
Na koniec konfigurujemy vsftpd:
listen=YES
anonymous_enable=NO
local_enable=YES
virtual_use_local_privs=YES
write_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/home/vhosts/empty
pam_service_name=vsftpd
guest_enable=YES
user_sub_token=$USER
local_root=/home/vhosts/$USER
chroot_local_user=YES
hide_ids=YES
ftpd_banner=Welcome to FTP server
file_open_mode=0770
local_umask=0000
anon_mkdir_write_enable=NO
guest_username=vsftpd
background=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
pasv_enable=YES
pasv_max_port=51000
pasv_min_port=50000
port_enable=YES
i na koniec restartujemy vsftpd
Dodatkowa informacja
Katalogi kont wirtualnych należy stworzyć ręcznie i zmienić właściciela na vsftpd.