it-swarm-es.com

Servidor FTP básico de Ubuntu

Me gustaría configurar un servidor FTP básico en mi instalación de Ubuntu Server. He estado jugando con VSFTPD, pero tengo problemas para que el servidor me permita crear directorios y copiar archivos. He configurado el sistema para permitir usuarios locales, pero parece que eso no significa que tenga acceso para crear directorios. Esta puede ser una instancia en la que necesito estar mejor basado en la configuración del servidor Ubuntu para configurar este servidor FTP adecuadamente. El objetivo final es poder mover archivos de mi carpeta de desarrollo local a mi carpeta www para su implementación. Los directorios también deben poder moverse. Cualquier ayuda sería muy apreciada.

33
JPrescottSanders

Voy a recomendar PureFTPD porque, en mi opinión, ha sido el más simple y fácil de usar. Deberá instalarlo primero: Sudo apt-get install pure-ftpd una vez que esté instalado, se iniciará solo. De manera predeterminada, utiliza las autenticaciones PAM, lo que significa que utiliza las cuentas que ya existen en el sistema para su autenticación. Todo lo que tendrá que hacer es crear una cuenta de usuario con el directorio de inicio como su ruta www y establecer la contraseña para esa cuenta. Entonces debería poder conectarse con esa combinación de usuario/pase para cargar/descargar archivos.

Algo como esto:

Sudo adduser ftpman --home /var/www/ --ingroup www-data

Lo que creará el usuario ftpman y lo colocará en el grupo de datos www que usa Apache y lo guiará por el resto del script de configuración. Una vez que esté definido, asegúrese de chmod la carpeta WWW si obtiene errores sobre la combinación de usuario/grupo que creó.

Por último, si desea bloquear el acceso SSH para esa cuenta, ejecute: Sudo chsh -s /bin/false ftpman que cambiará el Shell de los usuarios a falso. (Reemplace ftpman con su usuario ftp)

42
Marco Ceppi

En mi opinión, SFTP es una mejor manera de hacerlo. Oye, tiene la palabra "seguro" en el nombre, debe ser mejor :)

SFTP usa ssh para hacer transferencias de archivos (a diferencia de FTPS, que es FTP + TLS, básicamente). Lo que eso significa es que si puede enviar ssh a la máquina de destino, casi siempre puede usar SFTP, ya que usa los mismos mecanismos de autenticación, por lo que no tiene que instalar y configurar diferentes demonios de servidor (es decir, no pureftpd o vsftpd). Siempre y cuando sus permisos estén configurados correctamente para /var/www, que es probablemente una cuestión de Sudo chmod g+w /var/www; Sudo usermod -g $USER -G www-data $USER, debería poder usar SFTP de inmediato.

Hoy en día, la mayoría del software de cliente realizará SFTP de manera bastante feliz, y también puede usar scp de un Shell en el servidor de desarrollo para copiar cosas (scp -R copiará carpetas enteras, y es muy útil). Incluso puede dar un paso más y automatizar los inicios de sesión con claves públicas, lo que significa que no tendrá que escribir más contraseñas :)

10
Ben Williams

Recomiendo encarecidamente usar vsftpd. Es uno de los demonios FTP más seguros en Linux. Muchos otros tenían debilidades en el pasado y parece que el FTP es difícil de implementar de manera segura.

vsftpd comienza justo después de instalarlo. Ubuntu permite a los usuarios locales iniciar sesión. Por lo tanto, inicie su cliente FTP e inicie sesión como usuario normal con la contraseña de su sistema (Mi ejemplo usa lftp):

> lftp 127.0.0.1 ftp
lftp 127.0.0.1:~> user qbi
Password: #typing my password which I also use to log in via GDM
lftp [email protected]:~> ls
drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
... many more

Ahora estoy usando algún tipo de administrador de archivos (Nautilus, Shell, etc.) para crear un nuevo directorio foo y volver a mi cliente FTP:

ftp [email protected]:~> ls -l
...
drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo

El directorio está allí y puedo cd en él y usarlo. Esto también es lo mismo si tiene usuarios especiales. Allí también puede crear directorios y son accesibles de inmediato. Aquí es importante buscar los derechos de acceso.

5
qbi

Recomiendo humildemente un servidor FTP que escribí desde cero: JetFTP . Es extremadamente simple de instalar y usar.


Instalación:

  • Agregue mi PPA a sus fuentes de software y actualice:

    Sudo apt-add-repository ppa:george-edison55/george-edison
    
  • Ejecute el siguiente comando:

    Sudo apt-get install jetftp
    
  • ¡Eso es!

Usar JetFTP es simple: simplemente conéctese al puerto 8021 usando un nombre de usuario y contraseña en la computadora en la que se está ejecutando JetFTP.

3
Nathan Osman

No use ftp, es un protocolo intrínsecamente inseguro porque envía el nombre de usuario y la contraseña al servidor. Implementar sftp es igual de fácil y obtienes una gran ventaja en la seguridad de tu conexión.

2
Stuart

La instalación predeterminada de VSFTPD no permite ningún crear/modificar cambios por defecto. Necesita editar /etc/vsftpd.conf y descomentar la siguiente línea ...

write_enable=YES

Y en segundo lugar, debe configurar los permisos apropiados del sistema de archivos en los archivos y carpetas respectivos.

0
Simon East

Hay tres formas diferentes de configurar un servidor ftp:

(1) FTP anónimo:

Las personas solo pueden acceder al servidor con la cuenta anónima y sin contraseña. Por supuesto, el administrador del servidor establecerá un límite para las cargas para evitar que los usuarios coloquen archivos ilegales como música/películas/juegos pirateados.

(2) FTP con acceso anónimo y usuarios con una cuenta con contraseña:

Este método permite que los usuarios de cuentas anónimas y con contraseña ingresen al servidor. Solo tendrán acceso a un directorio específico, a excepción del usuario root que puede ver/modificar/eliminar todos los archivos y/o carpetas.

(3) FTP con soporte mysql para autenticación de usuarios virtuales:

Este método permite el acceso al servidor solo para algunos grupos de usuarios que no tienen una cuenta de Shell de autenticación de usuarios virtuales en el sistema. Utiliza un servidor mysql externo que almacena información del usuario.

Primera opción: FTP anónimo

Antes de comenzar la creación de un servidor ftp anónimo, debe agregar un usuario llamado ftp a su sistema, con un directorio de inicio también. Este paso es realmente fácil, solo sigue estos comandos:

useradd -d /home/ftp/ftp -s /bin/false ftp

mkdir -p /home/ftp/upload

Hacer esto solo permite que esta cuenta escriba en esta carpeta. Puede usar más variables para especificar qué hará el servidor ftp. Aquí hay unos ejemplos:

-e Allow access to the server only by anonymous users
-B Start the server with background demon
-i Anonymous users can't upload files
-M Let anonymous users create folders
-s ftp user files cannot be downloaded

Segunda opción: '' 'Usuarios de cuentas anónimas y con contraseña' ''

Para que sea posible tener usuarios de cuentas anónimas y con contraseña en el mismo servidor, siga esta pequeña guía:

-B ,-i ,M, -r, -s same of before
-u <uid> Enable users with a specified user id (uid) to access the server 
-V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 

Tercera opción: '' 'Usuarios virtuales con Mysql' ''

Para crear un servidor con soporte mysql, siga estos pasos:

Descargue e instale el Administrador de usuarios para PureFTPd que puede encontrar aquí http://machiel.generaal.net/index.php?subject=user_manager_pureftpd

Descomprímalo y cargue todo su contenido en el directorio www de su servidor web y luego escriba en su navegador este enlace de enlace http: //localhost/ftp/install.php Siga todos los pasos que el instalador le solicite Copie y guarde rge pureftpd-mysql.conf en el directorio del administrador de usuarios pureftpd

Hecho. Acceso al panel de administración usando este enlace http: // localhost/ftp

Más opciones para agregar antes de iniciar el proceso del servidor

-c <num> Max client that can connect to the server
-C <num> Max connections for a IP
-T <bandwitdh> Max bandwitdh disponible for each connection
-n <MBytes> Max MB that a user can have into its home folder
-m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 

Y vea esto para algunas aplicaciones de servidor ftp:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html

0
Sajad Bahmani