Servidor FTP

Forums: 

Encontre un archivo donde me dan los pasos para crear un servidor ftp con usuarios segui los pasos pero al poner en el bbrowser ftp://ip_del_servidor me sale permiso denegado AYUDA POR FIS que esta mal. Acontinuacion la configuración que use.

# groupadd ftp

Creamos los usuarios con sus correspondientes características.

#useradd -g ftp -d /xxx/xxx/xxx -c "usuario prueba" user
#useradd -g ftp -d /xxx/xxx -c " administrador" administrador

Se asigno un password a los usuarios con el comando passwd.

Shell fantasma en el directorio correspondiente.

#mkdir /bin/ftp

Editamos el fichero /etc/shells y la añadimos en la ultima línea y continuación editamos el fichero /etc/passwd y buscamos las líneas donde están definidos los usuarios que hemos creado antes y les añadimos el shell falso:

user:x:1005:1005: user :/xxx/xxx/xxx:/bin/ftp
administrador:x:1007:1005: administrador :/xxx/xxx:/bin/ftp

Configuración del servidor
En /etc/vsftpd/vsftpd.conf.

# Example config file /etc/vsftpd.conf
#Escuchando
listen=YES
#
................................................
# Desactivamos el acceso anónimo
anonymous_enable=NO
#
# Descomentamos la línea para que se puedan conectar
local_enable=YES
#
# Permitimos a usuarios locales escribir
write_enable=YES
#
# APLICA CONFIGURACIÓN UMASK
local_umask=003
#Mensajes welcome
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
............................
#
# You may override where the log file goes if you like. The default is shown
# below.
xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=YES
# Se descomenta esto para crear una jaula
chroot_local_user=YES
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
#
# Debian customization
# secure_chroot_dir=/var/run/vsftpd
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
#rsa_cert_file=/etc/ssl/certs/vsftpd.pem
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=NO

A continuación creamos el fichero vsftpd.chroot_list el cual tendrá la lista de usuarios que no tendrán acceso al servidor:

# touch /etc/vsftpd/chroot_list

Volcamos los datos a este fichero desde etc/password con el comando.

# cat /etc/passwd | awk -F: '{ print $1 }' > /etc/vsftpd/chroot_list

Esto nos genera un fichero con los login de usuarios del sistema del cual quitamos los que si queremos que tengan acceso y los ponemos en el fichero /etc/vsftpd/user_list.

Ejemplos de ficheros:

/etc/vsftpd/chroot_list

# usuarios con no acceso
root
daemon
bin
sys
sync
games
man
lp
mail
news

/etc/vsftpd/user_list

#usuarios con acceso
administrador
user

A primera vista puedo decirte

Imagen de Freestate

A primera vista puedo decirte que cuando pones ftp://ip_del_servidor en realidad estas apuntando a /var/ftp o /var/ftp/pub. No se si hayas puesto esas rutas al crear tus usuarios con:


#useradd -g ftp -d /xxx/xxx/xxx -c "usuario prueba" user
#useradd -g ftp -d /xxx/xxx -c " administrador" administrador

De igual forma ese dectorio no tiene los permisos adecuados, es por ello que te marca acceso denegado.

Primero asegurate de que los directorios tengan los permisos 600 y que el propietario de /xxx/xxx/xxx sea user y que /xxx/xxx sea el propietario administrador.

Despues de eso intenta loguearte con cualquier cliente de ftp, en lo particular me gusta el coreFTP.

Quizas puedas encontrar util leer

http://www.alcancelibre.org/staticpages/index.php/09-como-vsftpd/print

Saludos!

Cita: rimero asegurate de que

Imagen de acl

[quote]rimero asegurate de que los directorios tengan los permisos 600[/quote]

Deberían tener permisos 700. Necesitas el permiso de ejecución para poder entrar al directorio.

Los directorios si tienen los

Los directorios si tienen los permisos. Pero cuando cree los usuarios no apunte a /var/ftp ni a /var/ftp/pub, lo que hice es crear directorios en una ruta distinta para subir los archivos ahi

useradd -g ftp -d /data0/ftp/prueba -c "usuario prueba" user
useradd -g ftp -d /data0/ftp -c " administrador" administrador

Como puedo hacer para que ftp://ip_del_servidor apunte a dicha carpeta, lo que en realidad quiero es q los archivos del ftp se guarden en la ruta /data0/ftp que se creo para no mezclar archivos ya que este equipo tambien hara de servidor samba y tenemos diferentes discos destinados para cada servicio, y en el principal esta el sistema operativo

Acabo de cambiar la ruta de

Acabo de cambiar la ruta de los usuarios que cree por la que me dices /var/ftp para el administrador y /var/ftp/prueba para el usuario y si le di permisos a la carpeta, pero me sigue saliendo el mismo error :-(