FTP Anónimo
Tanto en Solaris 10, como en OpenSolaris hay algunos cambios en cuanto a la generación de un servidor FTP acotado para el acceso permitido de cualquier usuario sin cuenta en nuestro sistema.
Por defecto el demonio que nos permite ejecutar el servidor FTP (WU-FTP) estará activo y controlado por SMF.
# svcs -a | grep ftp
online 15:28:42 svc:/network/ftp:default
Lo primero que vamos a realizar es crear un $HOME para el usuario ftp, asi:
# mkdir -p /export/ftp/{pub,bin,dev,etc,usr/lib}
Una vez realizado, copiamos el binario del comando "ls" y le asignamos los permisos necesarios:
# cp /usr/bin/ls /export/ftp/bin
# chmod 111 /export/ftp/bin/ls
Solo nos queda copiar a ese path las librerias necesarios para le ejecución de dicho binario:
# cp /usr/lib/ld.so* /export/ftp/usr/lib
# cp /usr/lib/libc.so.1 /usr/lib/libdl.so.1 /export/ftp/usr/lib
# cp /usr/lib/libintl.so.1 usr/lib/libw.so.1 /export/ftp/usr/lib
# cp /usr/lib/nss*.so.1 /export/ftp/usr/lib
# cp /usr/lib/libnsl.so.1 /export/ftp/usr/lib
# cp /usr/lib/straddr.so /export/ftp/usr/lib
Y los correspondientes ficheros de configuración:
# cp /etc/passwd /etc/group /etc/netconfig /export/ftp/etc
# cp /etc/nsswitch.conf /export/ftp/etc
Con su asignación correcta de permisos:
# chmod 555 /export/ftp/usr/lib/*
# chmod 444 /export/ftp/etc/*
# chmod 555 /export/ftp/usr/lib
# chmod 555 /export/ftp/usr
# chmod 555 /export/ftp/bin
# chmod 555 /export/ftp/dev
# chmod 555 /export/ftp/etc
# chmod 755 /export/ftp/pub
# chmod 555 /export/ftp
Es en este momento cuando creamos el usuario ftp con acceso anónimo al sistema por este procolo TCP.
# vi /etc/passwd
ftp:x:30000:30000:Anonymous FTP:/export/ftp:/bin/false
# vi /etc/shadow
ftp:NP:6445::::
Y por ultimo securizamos todo el $HOME:
# chown -R root /export/ftp
Hemos conseguido un acceso anónimo real a nuestro servidor FTP, completamente acotado en el PATH que hemos reservado (/export/ftp) y además de forma enjaulada ya que nunca podra subir directorios por el arbol de directorios.