BandaAncha.eu

  • 🔍 en 📰 artículos ⏎
  • 🔍 en 💬 foros ⏎
  • 🔍 en 👇 este 💬 foro ⏎
  • 🔍 en 👇 este 💬 tema ⏎
Regístrate Regístrate Identifícate Identifícate

Alguien me hecha un cable con VSFTPD en Ubuntu-Server??

ScKaLiBuR

Hola! Tengo un problema. He hecho todo lo expuesto aquí: lanzalinux.org/?q=node/3 (creo que es dónde mejor se explica después de leer casi todas las entradas de google sobre vsftpd), tengo el "vsftpd.conf" idéntico a este pero me pasa algo curioso.

Lo que yo pretendo es tener "enjaulados" a dos usuarios (uno de ellos soy yo y soy el usuario "predeterminado" por decirlo de alguna manera ya que fué el usuario que se creó durante la instalación [para entendernos, uso ubuntu-server y gasto sudo, por lo que mi usuario tiene derecho de administración]) por lo tanto he añadido a "vsftpd.chroot_list" a mi y al otro usuario (a partir de ahora yo seré "usuario1" y el otro usuario "usuario2", para entendernos).

Bueno, pues el problema es el siguiente: si hago "ftp localhost" y introduzco user y pass de "usuario1" (recordar que tiene derecho de administración mediante sudo, lo digo por si es relevante) accedo perfectamente:

usuario1@makina:~$ ftp localhost
Connected to localhost.
220 Bienvenid@ al servidor FTP de makina
Name (localhost:usuario1): usuario1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Pero por el contrario, si hago "ftp localhost" y introduzco user y pass de "usuario2" me denega el acceso:

usuario1@makina:~$ ftp localhost
Connected to localhost.
220 Bienvenid@ al servidor FTP de makina
Name (localhost:usuario1): usuario2
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
ftp>

Por si sirve de algo, el "usuario2" fué añadido después de instalar ubuntu-server mediante:

# groupadd usuario2
# useradd -g usuario2 -m -s /bin/false usuario2
# passwd usuario2

Alguna ayuda?? Ya no sé que hacer.

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
BocaDePez
BocaDePez

¿Has probado a añadir usuario2 al grupo vsftpd?.

🗨️ 2
ScKaLiBuR

No existe tal grupo...

🗨️ 1
BocaDePez
BocaDePez

Me sigue dando la impresión de algo de eso. Mira a ver el grupo que puede estar usando el programa e intenta añadir al usuario2 al mismo.

Dicho de otra manera, mira a ver a que grupos pertenece el usuario1 y vete haciendo (uno por uno) al usuario2 miembro de los mismos y probando.

Otro sitio a mirar puede ser /etc/hosts.allow y /etc/hosts.deny (páginas man correspondientes).

Puedes probar a poner
vsftpd: 127.0.0.1
en /etc/hosts.allow para permitir las conexiones desde localhost.

También puedes, si utilizas xinetd o equivalente, ver las reglas (si las tienes) para este programa.

Si no es nada de esto, creo no te puedo ayudar.

Suerte.

Gand1

A mi me pasó algo parecido. Te expongo mi solución (probado en Red Hat y Solaris).

En principio la idea es restringir el acceso a todos los usuarios del sistema menos los que yo indique explícitamente.

Para ello, en el vsftpd.conf añadimos las siguientes directivas:
userlist_enable=YES
userlist_deny=NO

Y a continuación, añadimos los usuarios "autorizados" a los ficheros vsftpd.ftpusers y vsftpd.user_list, que deberían estar en /etc.

Para enjaularlos, basta con que añadas al vsftpd.conf la directiva chroot_local_user=YES.

En el caso de que utilices PAM (esto es, si en el conf de vsftpd figura la siguiente directiva: pam_service_name=vsftpd), debe existir el fichero /etc/pam.d/vsftpd y en el contenido del mismo, y siguiente la estructura de este tipo de ficheros, los siguiente:
[...] sense=allow file=/etc/vsftpd.ftpusers [...]

En otro caso, no debes hacer nada más que yo recuerde.

Espero que te sirva de ayuda.

Un saludo.

ScKaLiBuR

Muchísimas gracias a los dos por responder! Perdonad por la tardanza en contestar pero es que he estado unos días fuera y no he podido meterle mano al server.

Ahora cuando me reestablezca del todo pruebo lo que me comentáis a ver si consigo algo y ya lo comento.

Muchas gracias de nuevo!

Un saludo!

ScKaLiBuR

Gand, sigo igual. Voy a copiarte tal y como tengo todos los archivos, ok? Ahí va:

Antes que nada decir que "Makina", "usuario1" y "usuario2" son nombres que he modificado para no poner los originales, pero tampoco es muy relevante. En fin.

/etc/vsftpd.conf

#Acceso Para Usuarios Locales
local_enable=YES

# Permitir Escritura
write_enable=YES

# Valor Genérico para casi todos los FTP...
local_umask=022

# Logueo
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES

# Mensaje de Bienvenida
ftpd_banner=Bienvenid@ al servidor FTP de Maquina

# Activando Lista de Acceso
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

# Valores por Defecto...
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
listen=YES
tcp_wrappers=YES

# Fijamos unos puertos Pasivos...
pasv_min_port=65530
pasv_max_port=65531

-----------------------------------------------------------------------------------------------------------

/etc/vsftpd.ftpusers

usuario1
usuario2

-----------------------------------------------------------------------------------------------------------

/etc/vsftpd.user_list

usuario1
usuario2

-----------------------------------------------------------------------------------------------------------

/etc/vsftpd.chroot_list

usuario1
usuario2

-----------------------------------------------------------------------------------------------------------

/etc/pam.d/vsftpd

# Standard behaviour for ftpd(8).
auth required pam_listfile.so item=user sense=allow file=/etc/vsftpd.ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable
# pam_ftp.so.

# Standard blurb.
@include common-account
@include common-session

@include common-auth
auth required pam_shells.so

-----------------------------------------------------------------------------------------------------------

Como ves, ya lo tengo exactamente igual que tu. Sin embargo, sigue pasando lo que expuse en el primer post. Al "Usuario1" lo deja entrar perfectamente, pero al "Usuario2", no.

Sigo pensando que algo tendrá que ver que "Usuario1" sea el usuario con derecho de administración (sudo), osea, el primer usuario que se creo en la instalación de Ubuntu-Server.

Alguien que me ilumine?? Lo veo todo oscuro! Muy oscuro!!

🗨️ 3
Gand1

Ya staba preocupao que no sabía nada de ti (q ya me pica la curiosidad :-P) . Enga, a ver si lo conseguimos.

Diferencias notables en el vsftpd.conf:

Tienes que comentar SEGURO:
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd.chroot_list

Puedes comentar (sólo por tenerlo igual, aunque no afecta a la autentificación):
- listen=YES
- tcp_wrappers=YES

Lo de los puertos pasivos (igual que las 2 anteriores) ni las tengo en el fichero.

Los ficheros /etc/vsftpd.ftpusers y /etc/vsftpd.user_list
estan correctos.

El fichero /etc/vsftpd.chroot_list déjalo vacío (aunque si comentas la directiva chroot_list_enable, ni lo va a leer).

En cuanto al fichero /etc/pam.d/vsftpd, al menos la primera línea la tenemos igual (y está correcto). Además tengo alguna línea más, pero no interviene el vsftpd. Son opciones de PAM que no creo deban influir.

Por curiosidad, a los usuarios permitidos le tengo asignada una shell (ó /bin/true). No sé hasta que punto puede afectar esto.

Prueba con los cambios que te comento (deberás hacer que vsftpd lea de nuevo el fichero de configuración, evidentemente) y a ver si te funciona.

Un saludo.

🗨️ 2
ScKaLiBuR

Por fin!!!! Por increíble que parezca, todo el problema estaba en la shell de las narices!! Claro, yo tenia al usuario2 sin shell (/bin/false) porque claro, en un principio yo no quiero que ese usuario2 pueda loguerse en el sistema. Se pretendía que únicamente se loguee en el FTP y nada más. De hecho, en más de un manual pone que es conveniente que los usuarios de FTP se les asigne una shell falsa. En fin, pues nada. Problema resuelto. Me has iluminado Gand! MIL GRACIAS! La de tiempo que llevaba arrastrando esto.

Pues nada, ya está todo. Repito: MIL GRACIAS COMPAÑERO!

Saludos!

🗨️ 1
Gand1

Y lo bien que se siente uno :-D

Ha sido un placer.

Saludos.