FTPSERVER MED VIRTUELLA ANVÄNDARE OCH MYSQL
Om inte vsftpd och MySQL är på plats får vi börja med detta. Under installationen ska vi ange ett lösenord för MySQL rootanvändaren. Spara det för framtida behov!
Under installationen konfigureras MySQL att lyssna på localhost. Det fungerar i vårt fall. I andra fall vill man att den ska lyssna på alla interfacen. Det kan man ändra i /etc/mysql/my.cnf. Öppna denna:Kod:sudo apt-get install vsftpd mysql-server mysql-client libmysqlclient15-dev
Sök efter avsnittetKod:sudo nano /etc/mysql/my.cnf
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
Om så önskas kan raden kommenteras bort (#). Den kommer då att se ut så här:
# bind-address = 127.0.0.1
och starta sedan om MySQL
Skapa en databas för vsftpdKod:sudo /etc/init.d/mysql restart
Ersätt ftpdpass nedan med önskat lösenord för användaren vsftpd. Skriv upp lösenordet - du behöver det senare!Kod:sudo mysql -u root -p
Kod:CREATE DATABASE vsftpd;Kod:GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';Kod:GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';Kod:FLUSH PRIVILEGES;Kod:USE vsftpd;Kod:CREATE TABLE `accounts` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `username` VARCHAR( 30 ) NOT NULL , `pass` VARCHAR( 50 ) NOT NULL , UNIQUE ( `username` ) ) ENGINE = MYISAM ;Vi fortsätter med konfigureringen av vsftpd. Skapa användaren vsftpd, som ska tillhöra gruppen nogroup med hemfoldern /home/vsftpd. vsftpd kommer att köras under denna användare.Kod:quit;
Byt namn på vsftpd.confKod:sudo useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
Skapa en ny vsftpd.confKod:sudo mv /etc/vsftpd.conf /etc/vsftpd.conf.org
Klistra in följande och spara:Kod:sudo nano /etc/vsftpd.conf
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
pasv_min_port=63200
pasv_max_port=63204
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
guest_enable=YES
guest_username=vsftpd
local_root=/home/vsftpd/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
Vi ska nu konfigurera PAM som ska använda MySQL för att autenticera våra virtuella användare. Kontrollera först att libpam-mysql är installerat.
Byt namn på PAM konfigurering för vsftpdKod:sudo apt-get install libpam-mysql
Skapa en ny /pam.d/vsftpdKod:sudo mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.org
Klistra in följande och spara (OBS!! Glöm inte ersätta ftpdpass med det lösenord du skapade tidigare):Kod:sudo nano /etc/pam.d/vsftpd
auth required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=ftpdpass host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
Starta om vsftpd
Vi ska nu skapa vår första virtuell användare. Det får bli northface med lösenordet hemlis.Kod:sudo /etc/init.d/vsftpd restart
Kod:sudo mysql -u root -pKod:USE vsftpd;Kod:INSERT INTO accounts (username, pass) VALUES('northface', PASSWORD('hemlis'));Vi måste också skapa en folder för virtuelle användaren northfaceKod:quit;
och ändra ägarskapetKod:sudo mkdir /home/vsftpd/northface
Klart! Portarna 21 och 63200-63204 i brandvägg/router för inkommande trafik till maskinen ska också vara öppna.Kod:sudo chown vsftpd:nogroup /home/vsftpd/northface
För att köra krypterad trafik se avsnitt FTP-server med lokala användare under rubrik Krypterad trafik.
Make sure to use your head - you might need it!
Det är för närvarande 1 användare som tittar på det här ämnet. (0 medlemmar och 1 gäster)
Bokmärken