Utilizzare utenti virtuali in vsftpd: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
=Utenze memorizzate in database Mysql= | |||
* Installare i pacchetti necessari: | |||
sudo apt-get install vsftpd libpam-mysql | |||
* Creare l'utente con cui girerà il daemon: | |||
sudo useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd | |||
* Creare il database e lutente da utilizzare: | |||
CREATE DATABASE vsftpd; | |||
GRANT | |||
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP | |||
ON | |||
vsftpd.* | |||
TO | |||
'vsftpd'@'localhost' | |||
IDENTIFIED BY 'secretPassword'; | |||
GRANT | |||
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP | |||
ON | |||
vsftpd.* | |||
TO | |||
'vsftpd'@'localhost.localdomain' | |||
IDENTIFIED BY 'secretPassword'; | |||
FLUSH PRIVILEGES; | |||
* Creare le tabelle che conterranno i dati degli accounts: | |||
<pre> | |||
USE vsftpd; | |||
CREATE TABLE `accounts` ( | |||
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , | |||
`username` VARCHAR( 30 ) NOT NULL , | |||
`pass` VARCHAR( 50 ) NOT NULL , | |||
`homedir` VARCHAR( 900 ) NOT NULL , | |||
`active` int(11) NOT NULL, | |||
UNIQUE (`username`) | |||
) ENGINE = MYISAM ; | |||
</pre> | |||
* Per la normale amministrazione del database e per la creazione degli utenti virtuali potremo d'ora in poi servirci di phpMyAdmin, se lo abbiamo installato; altrimenti dovremo continuare ad utilizzare la shell di MySQL. | |||
=Utenze meorizzate in text file= | |||
vsftpd is a secure, fast and stable FTP server. In this tutorial we'll install the server and make it check in a flat text file for virtual users allowed to login. | vsftpd is a secure, fast and stable FTP server. In this tutorial we'll install the server and make it check in a flat text file for virtual users allowed to login. | ||
Revision as of 11:56, 30 December 2014
Utenze memorizzate in database Mysql
- Installare i pacchetti necessari:
sudo apt-get install vsftpd libpam-mysql
- Creare l'utente con cui girerà il daemon:
sudo useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
- Creare il database e lutente da utilizzare:
CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'secretPassword';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'secretPassword';
FLUSH PRIVILEGES;
- Creare le tabelle che conterranno i dati degli accounts:
USE vsftpd; CREATE TABLE `accounts` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `username` VARCHAR( 30 ) NOT NULL , `pass` VARCHAR( 50 ) NOT NULL , `homedir` VARCHAR( 900 ) NOT NULL , `active` int(11) NOT NULL, UNIQUE (`username`) ) ENGINE = MYISAM ;
- Per la normale amministrazione del database e per la creazione degli utenti virtuali potremo d'ora in poi servirci di phpMyAdmin, se lo abbiamo installato; altrimenti dovremo continuare ad utilizzare la shell di MySQL.
Utenze meorizzate in text file
vsftpd is a secure, fast and stable FTP server. In this tutorial we'll install the server and make it check in a flat text file for virtual users allowed to login.
1. Install required packages
apt-get install vsftpd libpam-pwdfile
2. Configure vsftpd (pico /etc/vsftpd.conf)
Edit these variables in the config file and leave everything else with the default value.
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 nopriv_user=vsftpd virtual_use_local_privs=YES guest_enable=YES user_sub_token=$USER local_root=/var/www/$USER chroot_local_user=YES hide_ids=YES guest_username=vsftpd
Set the local_root to the parent directory where the user's home directories are located
3. Configure PAM to check the passwd file for users (pico /etc/pam.d/vsftpd)
auth required pam_pwdfile.so pwdfile /etc/ftpd.passwd account required pam_permit.so
Make sure you remove everything else from the file
4. Create the passwd file containing the users
htpasswd -c /etc/ftpd.passwd user1
You can later add additional users to the file like this:
htpasswd /etc/ftpd.passwd user2
5. Create a local user that’s used by the virtual users to authenticate
useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
6. Restart vsftpd
/etc/init.d/vsftpd restart
7. Create user's home directory since vsftpd doesn't do it automatically
mkdir /var/www/user1 chown vsftpd:nogroup /var/www/user1