Utilizzare utenti virtuali in vsftpd: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
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

Riferimenti