2. 2
1. Instalar rol de FTP en Ubuntu 17.04
Paso 1
El primero será instalar el paquete vsftpd:
sudo apt-get install vsftpd
Paso 2
Editamos el siguiente archivo vsftpd.conf que se encuentra en /etc
sudo nano /etc/vsftpd.conf
Lo tenemos que editar la lineas dejándolas así
listen=YES
listen_ipv6=NO
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
local chroot_local_user=YES
chroot_list_enable=NO
anon_world_readable_only=YES
2. Crear las carpetas y los usuarios
Paso 1
Vamos a crear los usuarios y las carpetas en mi caso los usuarios y las carpetas son:
Usuarios
Carpetas
publico juan pepe libros
juan r+w r+w r r+w
pepe r+w r+w
manolo r
anómimo r
3. 3
sudo adduser juan
sudo adduser pepe
sudo adduser manolo
Y le asignamos las contraseña en mi caso es la misma que el nombre de usuario
Las carpetas los vamos a crear en la carpeta /srv/ftp
sudo mkdir juan libros pepe publico
Paso 2
El siguiente paso es asignarle los permisos y para ello nos vamos a la carpeta /srv/ftp y le
asignamos los permisos con los siguientes comandos.
Así es como funcionan los permisos en linux
Como lo que queremos es asignarle a cada usuario unos permisos específicos para cada
carpeta lo que vamos a hacer es quitarle los permisos de otros a todas las carpetas y a
publico le vamos a quitar los permisos de grupo y dejándolo los permisos de otros de
solo lectura para que solo pueda acceder el usuario anonimo (anonymous) para luego
gestionarlo con acl
4. 4
Una vez si nos ha quedado claro el tema de permisos vamos a introducir los siguientes
comandos como hemos explicado anteriormente:
sudo chmod -R 770 juan
sudo chmod -R 770 libros
sudo chmod -R 770 pepe
sudo chmod -R 705 publico
Ahora vamos a crear un grupo donde pondremos los usuarios que no puedan acceder la
carpeta publico que es este caso son pepe y manolo
sudo groupadd noaccedeapublico
sudo adduser pepe noaccedeapublico
sudo adduser manolo noaccedeapublico
Y lo asignaremos como grupo principal de la carpeta publico
sudo chown -R root:noaccedeapublico publico
A continuación vamos gestionar los permisos con la utilidad setfacl
5. 5
La utilidad setfacl configura ACLs para archivos y directorios . Utilice la opción -m para
añadir o modificar el ACL de un archivo o directorio:
u:<uid>:<perms>
Configura el acceso ACL para un usuario .Se debe especificar el nombre del usuario o su
UID. El usuario puede ser cualquier usuario válido en el sistema.
o:<perms>
Configura el acceso ACL para otros usuarios que no estén en el grupo para el archivo.
sudo setfacl -m u:juan:rwx juan
sudo setfacl -m u:juan:rwx publico
sudo setfacl -m u:juan:rwx libros
sudo setfacl -m u:juan:rx pepe
sudo setfacl -m u:pepe:rwx libros
sudo setfacl -m u:pepe:rwx pepe
sudo setfacl -m u:manolo:rx libros
sudo setfacl -m o::rx publico
Con esto tendremos los permisos asignados correctamente acorde a la tabla de permisos
que hemos indicado anteriormente.
El hecho de poner el ultimo como setfacl -m o::rx publico (la “o” indica other (otros) y es
para que el usuario anonimo (anonymous) pueda leer lo que hay en la carpeta publico)
Paso 3
El siguiente paso es asignarle la carpeta home a cada uno de los usuario con los siguientes
comandos:
sudo usermod -d /srv/ftp juan
sudo usermod -d /srv/ftp pepe
sudo usermod -d /srv/ftp manolo
Y para terminar reiniciamos el ftp con el siguiente comando:
sudo service vsftpd restart
6. 6
4. Como acceder al FTP
Para acceder al FTP podremos utilizar la consola o el explorador de archivos poniendo
ftp <IP> o <nombre_dominio>
En mi caso la IP es 10.10.2.135
Y para poder acceder con el nombre que en mi caso es ftp.hamza.com tienes que añadir
el DNS, para añadir el DNS:
En Windows es
En linux es
Modificar el archivo resolv.conf que se encuentra en /etc con el comando:
sudo nano /etc/resolv.conf