================================
***       Examen de FTP      ***
***           ---            ***
*** Nicolás A. Ortega Froysa ***
================================

Guía:
	#                   --- comentario
	[usuario@máquina]   --- en qué máquina y con qué usuario estamos
	$                   --- comando shell

Máquinas:
	- servidor
	- cliente

### SSH ###
[root@servidor]
$ apt update
$ apt install openssh-server

[usuario@cliente]
$ ssh examen@servidor
# A partir de ahora todo en el servidor se hace por SSH
[examen@servidor]
$ su -
# Vamos a ser root para facilitar las cosas

### FTP ###
[root@servidor]
$ apt install proftpd
$ mkdir -p /home/ftp
$ id ftp
uid=129(ftp) gid=65534(nogroup) grupos=65534(nogroup)
$ ftpasswd --passwd --name usuarioftp --home /home/ftp --uid 129 --shell /bin/false --file /etc/proftpd/passwd.virtuales
$ echo "AuthUserFile /etc/proftpd/passwd.virtuales" >> /etc/proftpd/proftpd.conf
$ echo "RequireValidShell off" >> /etc/proftpd/proftpd.conf
$ systemctl restart proftpd.service

### POSTFIX ###
$ adduser --home /home/correoadmin --shell /bin/bash correoadmin
$ usermod -aG sudo correoadmin
$ su - correoadmin

[correoadmin@servidor]
$ DEBIAN_PRIORITY=low sudo apt install postfix
# seleccionamos «Sitio de Internet», demás por defecto
$ sudo postconf -e 'home_mailbox= Maildir/'
$ sudo postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
$ sudo touch /etc/postfix/virtual
$ sudo cp /etc/postfix/virtual /home/ftp/
$ sudo chown ftp /home/ftp/virtual

[usuario@cliente]
$ ftp servidor
Connected to 172.16.40.27.
220 ProFTPD Server (Debian) [::ffff:172.16.40.27]
Name (172.16.40.27:nicolas): usuarioftp
331 Contraseña necesaria para usuarioftp
Password:
230 Usuario usuarioftp conectado
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> get virtual
local: virtual remote: virtual
200 Comando PORT exitoso
150 Abriendo BINARY modo conexión de datos para virtual
226 Transferencia completada
ftp> exit
221 Hasta luego
$ vi virtual
$ cat virtual
correoadmin@asir.com         correoadmin
personal1@asir.com           personal1
personal2@asir.com           personal2
personal3@asir.com           personal3
$ ftp server
Connected to 172.16.40.27.
220 ProFTPD Server (Debian) [::ffff:172.16.40.27]
Name (172.16.40.27:nicolas): usuarioftp
331 Contraseña necesaria para usuarioftp
Password:
230 Usuario usuarioftp conectado
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> send virtual
local: virtual remote: virtual
200 Comando PORT exitoso
150 Abriendo BINARY modo conexión de datos para virtual
226 Transferencia completada
158 bytes sent in 0.00 secs (10.7629 MB/s)
ftp> exit
221 Hasta luego

[correoadmin@servidor]
$ sudo cp /home/ftp/virtual /etc/postfix/virtual
$ sudo postmap /etc/postfix/virtual
$ sudo systemctl restart postfix
$ sudo echo "export MAIL=~/Maildir" | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
$ sudo apt install s-nail
$ tail -n3 /etc/s-nail.rc
set emptystart
set folder=Maildir
set record=+sent
$ echo 'init' | s-nail -s 'init' -Snorecord correoadmin
$ echo 'hola1' | s-nail -s 'Asunto Hola1' -Snorecord -r personal1@asir.com personal3@asir.com
$ echo 'hola2' | s-nail -s 'Asunto Hola2' -Snorecord -r personal1@asir.com personal2@asir.com
$ echo 'hola3' | s-nail -s 'Asunto Hola3' -Snorecord -r personal1@asir.com correoadmin@asir.com
