¿Cómo cambiar el directorio ftp predeterminado?

¿Cómo cambiar el directorio ftp predeterminado?

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/ubuntudirectorio 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 vsftpdcarpetas/archivos en mi /etccarpeta?

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 HOMEdirectorio 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

VerUnix y Linux: Cómo crear un usuario FTP con acceso /dir/ específico solo en una instalación de Centos/linux


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:

  1. Instalar vsftpd:

    sudo apt-get install vsftpd
    
  2. Hacer copia de seguridad de vsftpd.conf:

    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
    
  3. 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
  4. Cree un usuario y haga que el directorio de inicio sea este/var/www/ftp/myApplication

    • cree una carpeta adicional llamada ftpcomo 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
      
  5. 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
    
  6. Asignar propiedad a la myApplicationcarpeta al usuarioftpuser

    sudo chown ftpuser:ftpuser /var/www/ftp/myApplication
    
  7. La instalación /etc/vsftpd.confagrega 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
    
  8. Cree y agregue un usuario a la lista de usuarios:

    echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist
    
  9. Reinicie daemonpara cargar nuevas configuraciones:

    sudo systemctl restart vsftpd
    

Fuentes):

https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-16-04

información relacionada