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
Respuestas:
Voy a recomendar PureFTPD porque, en mi opinión, ha sido el más simple y fácil de usar. Primero deberá instalarlo:
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á al
ftpman
usuario y lo colocará en el grupo www-data que usa Apache y lo guiará a través del resto del script de configuración. Una vez que esté definido, asegúrese dechmod
acceder a la carpeta WWW si recibe errores sobre la combinación de usuario / grupo que creó.Por último, si desea bloquear el acceso SSH para la ejecución de esa cuenta,
sudo chsh -s /bin/false ftpman
lo que cambiará el shell de los usuarios a falso. (Reemplace ftpman con su usuario ftp)fuente
chsh
esto parece evitar que los usuarios inicien sesión a través del FTP también. Volver a configurar le/bin/bash
permite volver a funcionar.En mi opinión, SFTP es una mejor manera de hacerlo. Oye, tiene la palabra "seguro" en el nombre, debe ser mejor :)
SFTP utiliza ssh para realizar 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 utiliza 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
/var/www
, lo que probablemente sea una cuestión desudo 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 usarlo
scp
desde 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 :)fuente
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):
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:El directorio está allí y puedo
cd
ingresar 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.fuente
Humildemente recomiendo 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:
Ejecute el siguiente comando:
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 ejecuta JetFTP.fuente
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.
fuente
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 virtual de autenticación de usuarios 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:
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:
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:
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 pida 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
Y vea esto para algunas aplicaciones de servidor ftp:
https://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html
fuente
La instalación predeterminada de VSFTPD no permite ningún cambio de creación / modificación 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.
fuente