Cuando me conecto con FTP usando un archivo pem, se conecta bien y, de forma predeterminada, muestra este directorio:/home/ubuntu
Ahora estoy intentando cambiar el /home/ubuntu
directorio a /var/www/myApplication
. Soy nuevo en Linux, ¿alguien puede decirme qué comandos necesito usar?
¿Y cómo puedo ver la ruta ftp predeterminada si no hay vsftpd
carpetas/archivos en mi /etc
carpeta?
Respuesta1
El directorio ftp por defecto es el directorio del usuario HOME
, por lo que la forma más sencilla de lograr su objetivo es crear un nuevo usuario y configurar su HOME
directorio en /var/www/myApplication
:
usermod -d /var/www/myApplication/ exampleuser
Si quieresrestringirel acceso a este directorio necesita configurar
chroot_local_user=YES
en tus vsftpd.conf
. Luego reinicie el servicio vsftpd con:
service vsftpd restart
Puede haber una forma aún más sencilla, consulteaquí:
Para cambiar el directorio de inicio de sesión predeterminado para vsftpd, cambie el directorio de inicio del usuario ftp en
/etc/passwd
:ftp:x:116:116:vsftpd daemon:/var/vsftpd:/bin/false
El directorio de inicio del usuario ftp (ID de usuario = 116) cambió a
/var/vsftpd
. Esto permitirá que el usuario predeterminado/anónimo/desconocido llegue a un lugar específico (/var/vsftpd).
Respuesta2
No estoy muy seguro de cómo configuraste esto, pero necesitas instalar vsftpd
.
Pasos:
Instalar
vsftpd
:sudo apt-get install vsftpd
Hacer copia de seguridad de
vsftpd.conf
:sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
Configurar reglas de firewall:
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 990/tcp sudo ufw allow 40000:50000/tcp sudo ufw status
No tenga firewall, luego instale:
sudo apt-get install ufw
- Permitir:
sudo ufw enabe
Cree un usuario y haga que el directorio de inicio sea este
/var/www/ftp/myApplication
- cree una carpeta adicional llamada
ftp
como se ve arriba en caso de que necesite agregar más carpetas para otros usuarios. Crear usuario:
sudo usermod -d /var/www/ftp/myApplication ftpuser
- cree una carpeta adicional llamada
Establezca su propiedad y asegúrese de eliminar los permisos de escritura con los siguientes comandos
sudo chown nobody:nogroup /var/www/ftp sudo chmod a-w /var/www/ftp
Asignar propiedad a la
myApplication
carpeta al usuarioftpuser
sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
La instalación
/etc/vsftpd.conf
agrega las siguientes configuraciones:# Allow anonymous FTP? (Disabled by default). anonymous_enable=NO # # Uncomment this to allow local users to log in. local_enable=YES write_enable=YES # Prevent the FTP-connected user from accessing any files or commands outside # the directory tree chroot_local_user=YES # Add a user_sub_token in order to insert the username in our local_root directory # path so our configuration will work for this user and any future users that might # be added user_sub_token=$USER local_root=/var/www/ftp # Set up the configuration so that access is given to a user only when they # are explicitly added to a list rather than by default userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
Cree y agregue un usuario a la lista de usuarios:
echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
Reinicie
daemon
para cargar nuevas configuraciones:sudo systemctl restart vsftpd
Fuentes):