Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index International Gentoo Users Spanish
  • Search

[ftp] vsftpd para web

Foro en español para los usuarios Hispanos de Gentoo.

Moderator: Stolz

Post Reply
  • Print view
Advanced search
10 posts • Page 1 of 1
Author
Message
Theasker
l33t
l33t
User avatar
Posts: 656
Joined: Sat Nov 18, 2006 2:36 pm
Location: Zaragoza (Spain)

[ftp] vsftpd para web

  • Quote

Post by Theasker » Wed Apr 20, 2011 9:11 am

He montado un servidor web (vsftpd) + MySQL para los usuarios virtuales pero no se como hacer para que me permita subir los ficheros al servidor web. las configuraciones son:

Code: Select all

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
file_open_mode=0666
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
nopriv_user=ftp
chroot_local_user=YES
#secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
#pasv_promiscuous=YES
pasv_min_port=40000
pasv_max_port=41000

guest_enable=YES
guest_username=ftp
local_root=/home/ftp/$USER
user_sub_token=$USER
# Dónde encontrar las configuraciones específicas de cada usuarix
user_config_dir=/etc/vsftpd

# Directorio FTP predeterminado. Si no creamos un perfil, no toquen nada.
#local_root=/etc/vsftpd

# Privilegios locales para escribir, para los usuarios FTP remotos.
virtual_use_local_privs=YES

# SSL configuration

#ssl_enable=YES
#force_local_data_ssl=YES
#force_local_logins_ssl=YES

#ssl_tlsv1=YES
#ssl_sslv2=YES
#ssl_sslv3=YES
#rsa_cert_file=/etc/ssl/certs/vsftpd.pem
#rsa_private_key_file=/etc/ssl/certs/vsftpd.pem
luego está el usuario theaskerweb que tiene en su archivo de configuración el directorio del servidor web

Code: Select all

local_root=/var/www/localhost/htdocs
pero cuando intento subir un fichero me dice que no puede, supongo que por permisos

Code: Select all

553 Could not create file
El usuario es ftp del grupo ftp y lo he agregado al grupo apache (gpasswd -a ftp apache) pero no hay manera de subir nada.
"Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Top
Inodoro_Pereyra
Advocate
Advocate
User avatar
Posts: 2632
Joined: Fri Nov 03, 2006 4:56 pm
Location: En la otra punta del cable
Contact:
Contact Inodoro_Pereyra
Website

  • Quote

Post by Inodoro_Pereyra » Fri Apr 29, 2011 11:31 am

No tengo experiencia con vsftpd pero esta línea:

Code: Select all

local_root=/home/ftp/$USER
Implicaría que dentro del directorio ftp en tu home debería haber además un directorio adicional por cada usuario que se loguee en tu servidor. Para el usuario guest que has renombrado a ftp, debería existir /home/ftp/ftp y este último debería pertenecer a ftp:ftp o bien tener permisos de lectura/escritura para todo el grupo.

A ver si es eso.

Salud!
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Top
Theasker
l33t
l33t
User avatar
Posts: 656
Joined: Sat Nov 18, 2006 2:36 pm
Location: Zaragoza (Spain)

  • Quote

Post by Theasker » Fri Apr 29, 2011 12:45 pm

Inodoro_Pereyra wrote:No tengo experiencia con vsftpd pero esta línea:

Code: Select all

local_root=/home/ftp/$USER
Implicaría que dentro del directorio ftp en tu home debería haber además un directorio adicional por cada usuario que se loguee en tu servidor. Para el usuario guest que has renombrado a ftp, debería existir /home/ftp/ftp y este último debería pertenecer a ftp:ftp o bien tener permisos de lectura/escritura para todo el grupo.

A ver si es eso.

Salud!
tiene que ser parecido a lo que dices pero no eso, porque esa línea es justo la que sustituyo creando un archivo de configuración con el nombre del usuario el cual sustituye las líneas que me interesan. En mi caso el archivo /etc/vsftpd/usuario contiene:

Code: Select all

local_root=/var/www/localhost/htdocs
lo cual sustituye a esa línea, por lo que el tema va por donde dices tu. Tiene que ser permisos que es una de tantas cosas que llevo mal. Según entiendo accede a ese directorio web el usuario ftp (el cual he añadido al grupo apache pero no debe ser suficiente ya que no me deja escribir en ningún directorio del servidor.

gracias por el interés
"Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Top
Inodoro_Pereyra
Advocate
Advocate
User avatar
Posts: 2632
Joined: Fri Nov 03, 2006 4:56 pm
Location: En la otra punta del cable
Contact:
Contact Inodoro_Pereyra
Website

  • Quote

Post by Inodoro_Pereyra » Fri Apr 29, 2011 5:42 pm

Bueno, como estás usando pam, logueate en un shell en el servidor como el usuario ftp y prueba si el usuario tiene permisos de lectura/escritura sobre /var/www/localhost/htdocs para empezar. Si de esa forma es posible acceder a htdocs entonces el problema es de vsftpd, caso contrario es un problema de permisos.

En función de tus resultados iremos viendo que sale...

¡Salud!
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Top
Theasker
l33t
l33t
User avatar
Posts: 656
Joined: Sat Nov 18, 2006 2:36 pm
Location: Zaragoza (Spain)

  • Quote

Post by Theasker » Sat Apr 30, 2011 7:16 am

no creo que pueda, me parece q se creó automáticamente sin posibilidad de shell

Code: Select all

# grep ftp /etc/passwd
ftp:x:21:21:added by portage for ftpbase:/home/ftp:/sbin/nologin
"Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Top
Theasker
l33t
l33t
User avatar
Posts: 656
Joined: Sat Nov 18, 2006 2:36 pm
Location: Zaragoza (Spain)

  • Quote

Post by Theasker » Wed May 04, 2011 12:29 pm

he intentado cambiar la línea de configuración del vsftpd que dice:

Code: Select all

nopriv_user=ftp 
por otra cambiando el usuario por apache

Code: Select all

nopriv_user=ftp 
ya que pensaba que ese era el usuario con el que se conectaba pero al crear un archivo con un usuario temporal que tengo en el directorio /home/ftp/temp crea un archivo que el usuario y grupo es ftp.

El problema es de permisos pero no se como solucionarlo, siempre he llevado mal lo de los permisos. Con mi usuario normal theasker tampoco puedo crear archivos en /var/www/localhost/htdocs tengo q crearlos crear los en mi directorio home y luego hacer un chmod apache:apache archivo.
"Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Top
Inodoro_Pereyra
Advocate
Advocate
User avatar
Posts: 2632
Joined: Fri Nov 03, 2006 4:56 pm
Location: En la otra punta del cable
Contact:
Contact Inodoro_Pereyra
Website

  • Quote

Post by Inodoro_Pereyra » Thu May 05, 2011 12:30 am

Probá agregar esta línea al archivo de configuración:

Code: Select all

virtual_use_local_privs=YES
Sacado de aquí después de googlear un poquito.
Otro detalle, cambia el umask por 002.

Algo de todo eso debería solucionar el problema. A ver si hay suerte.

Salud!
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Top
Theasker
l33t
l33t
User avatar
Posts: 656
Joined: Sat Nov 18, 2006 2:36 pm
Location: Zaragoza (Spain)

  • Quote

Post by Theasker » Thu May 05, 2011 10:52 am

a ver la configuración me ha quedado así:

Code: Select all

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
file_open_mode=0666
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
nopriv_user=ftp
chroot_local_user=YES
#secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
#pasv_promiscuous=YES
pasv_min_port=40000
pasv_max_port=41000
virtual_use_local_privs=YES
#user_sub_token=$USER

guest_enable=YES
guest_username=ftp
local_root=/home/ftp/$USER
user_sub_token=$USER
# Dónde encontrar las configuraciones específicas de cada usuario
user_config_dir=/etc/vsftpd

# Directorio FTP predeterminado. Si no creamos un perfil, no toquen nada.
#local_root=/etc/vsftpd

# Privilegios locales para escribir, para los usuarios FTP remotos.
virtual_use_local_privs=YES
Para las pruebas tengo 2 usuarios:

- Usuario temp donde su home está en /home/ftp/temp con permisos son:

Code: Select all

# ls -la /home/ftp
total 12
drwxr-xr-x 3 root ftp  4096 abr 18 13:56 .
drwxr-xr-x 6 root root 4096 abr 14 13:08 ..
drwxrwxr-x 2 ftp  ftp  4096 may  5 12:38 temp
- Usuario web que su home es /var/www/localhost/htdocs/temp y los permisos de ese directorio son:

Code: Select all

# ls -la /var/www/localhost/htdocs/ |grep temp
drwxr-xr-x  2 apache   apache   4096 may  5 12:44 temp
Con el usuario temp puedo escribir perfectamente en su directorio ya que tiene los permisos ftp:ftp para su directorio pero con el usuario web puedo leer pero no escribir en el directorio porque tiene los permisos apache:apache.

Code: Select all

Estado:	Conectando a 127.0.0.1:9050...
Estado:	Conexión con el proxy establecida, realizando negociación...
Respuesta:	553 Could not create file.
Error:	Error crítico de transferencia de fichero
Yo pensaba que al incluir al usuario ftp en el grupo apache podría escribir pero no me funciona, y con mi usuario normal me pasa lo mismo por lo que para crear las páginas web es un lio de permisos y cambios de permisos.

Evidentemente no controlo los permisos de usuarios y grupo.
"Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Top
Inodoro_Pereyra
Advocate
Advocate
User avatar
Posts: 2632
Joined: Fri Nov 03, 2006 4:56 pm
Location: En la otra punta del cable
Contact:
Contact Inodoro_Pereyra
Website

  • Quote

Post by Inodoro_Pereyra » Fri May 06, 2011 2:57 am

Theasker wrote:Con el usuario temp puedo escribir perfectamente en su directorio ya que tiene los permisos ftp:ftp para su directorio pero con el usuario web puedo leer pero no escribir en el directorio porque tiene los permisos apache:apache.
Es por eso mismo que te decía mas arriba que cambies el umask a 002 por que con 022 como está actualmente, el grupo tiene permisos de lectura/ejecución pero no de escritura.

Salud!

EDITO: O es eso, o realmente no estás usando PAM para autenticar tus usuarios si no algún otro método. (O se me acabaron las ideas, jeje).
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Top
Theasker
l33t
l33t
User avatar
Posts: 656
Joined: Sat Nov 18, 2006 2:36 pm
Location: Zaragoza (Spain)

  • Quote

Post by Theasker » Fri May 06, 2011 7:34 am

No me había dado cuenta que no había cambiado eso, pero da el mismo error y me dice q no puede crear el fichero

Code: Select all

Respuesta:	227 Entering Passive Mode (95,61,198,67,158,201).
Comando:	STOR Prueba.txt
Estado:	Conectando a 127.0.0.1:9050...
Estado:	Conexión con el proxy establecida, realizando negociación...
Respuesta:	553 Could not create file.
Error:	Error crítico de transferencia de fichero
En cuanto a lo del pam si que lo estoy usando por narices, porque el usuario que uso sólo está en la base de datos de mysql y no es un usuario de sistema, por lo que si entra en el servidor ftp es que lo de los usuarios funciona.

A lo mejor tendría que asignar otro tipo de permisos a la carpeta que vaya a usar el usuario o ... ¿qué?.
Si esto tiene que ser muy común, es como un hosting, seguro que casi todo el mundo edita ficheros php o html que cuelgan del directorio /var/www/localhost/htdocs/ con un usuario normal pero yo no puedo.
"Oigo y olvido. Veo y recuerdo. Hago y comprendo"
Top
Post Reply
  • Print view

10 posts • Page 1 of 1

Return to “Spanish”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic