Solaris 10 ya no funciona con el tradicional archivo /etc/inetd.conf. Para añadir o modificar un servicio se debe usar el administrador inetadm. En este caso queremos sustituir el servidor FTP original por el ProFTPd. Descargamos de SunFreeware el servidor de ProFTPd (instalamos la versión proftpd-1.3.1rc2-sol10-sparc-local.gz).
Se trata de descomprimir y añadir como un paquete normal:

# gzip -d proftpd-1.3.1rc2-sol10-sparc-local.gz
# pkgadd -d proftpd-1.3.1rc2-sol10-sparc-local

Editaremos el archivo /usr/local/etc/proftpd.conf:

# This is a basic ProFTPD configuration file (rename it to
# ‘proftpd.conf’ for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# “nobody” and “ftp” for normal operation and anon.

ServerName                      “APInt1 ProFTPD”
ServerType                      inetd
DefaultServer                   on

# Port 21 is the standard FTP port.
Port                            21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances                    30

# Set the user and group under which the server will run.
User                            nobody
Group                           nogroup

# To cause every FTP user to be “jailed” (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~

# Normally, we want files to be overwriteable.
AllowOverwrite          on

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
DenyAll
</Limit>

Veremos la configuración actual para el servicio de ftp y la modificaremos con el path de proftpd (importante cambiar también el protocolo a tcp o no funcionará).

[root@apint1]$ inetadm  | grep ftp
enabled   online         svc:/network/ftp:default
[root@apint1]$ inetadm -l svc:/network/ftp
SCOPE    NAME=VALUE
name=”ftp”
endpoint_type=”stream”
proto=”tcp6″
isrpc=FALSE
wait=FALSE
exec=”/usr/sbin/in.ftpd -a”
user=”root”
default  bind_addr=””
default  bind_fail_max=-1
default  bind_fail_interval=-1
default  max_con_rate=-1
default  max_copies=-1
default  con_rate_offline=-1
default  failrate_cnt=40
default  failrate_interval=60
default  inherit_env=TRUE
default  tcp_trace=FALSE
default  tcp_wrappers=FALSE

[root@apint1]$ inetadm -m svc:/network/ftp:default exec=”/usr/local/sbin/proftpd”
[root@apint1]$ inetadm -m svc:/network/ftp:default proto=tcp
[root@apint1]$ inetadm -l svc:/network/ftp
SCOPE    NAME=VALUE
name=”ftp”
endpoint_type=”stream”
proto=”tcp”
isrpc=FALSE
wait=FALSE
exec=”/usr/local/sbin/proftpd”
user=”root”
default  bind_addr=””
default  bind_fail_max=-1
default  bind_fail_interval=-1
default  max_con_rate=-1
default  max_copies=-1
default  con_rate_offline=-1
default  failrate_cnt=40
default  failrate_interval=60
default  inherit_env=TRUE
default  tcp_trace=FALSE
default  tcp_wrappers=FALSE