Directorio virtual de usuarios de ProFTPD

Directorio virtual de usuarios de ProFTPD

Muy bien, estoy intentando replicar la configuración básica de una empresa de alojamiento web aquí autenticando a los usuarios virtuales a través de SQL y redireccionándolos/encarcelándolos a su directorio. He logrado la mayoría de los objetivos aquí,con la excepción de redirigirlos/encarcelarlos a su directorio.

Los directorios se almacenan /home/ftpy eso es lo que DefaultRootestá configurado. Quiero que cada usuario individual tenga y sea encarcelado en su propio directorio. No parece que la configuración homediren SQL tenga ningún efecto. Al iniciar sesión en FTP con cualquier usuario, inicia sesión DefaultRootsin encarcelamiento ni redireccionamiento de directorio.

¿Cómo logro esta última tarea?

Respuesta1

Intente comentar DefaultRoot. Creo que puede anular los valores leídos desde el servidor de la base de datos.

EDITAR:

Si se configura DefaultRoot y cualquier valor distinto a ~, el usuario será encarcelado en un árbol con raíz en DefaultRoot.

Si DefaultRoot es ~ entonces el usuario será encarcelado en un árbol con raíz en su directorio de inicio.

Respuesta2

Además de configurar DefaultRoot ~ como se mencionó, ¿cómo se ve su configuración SQL? ¿Realmente la está extrayendo de la base de datos?

DefaultRoot ~

<IfModule mod_dso.c>
  LoadModule mod_sql.c
  LoadModule mod_sql_mysql.c
</IfModule>

SQLLogFile          /var/log/proftpd/mod_sql.log
PersistentPasswd    off
AuthPAM             off
AuthUserFile        /some/path/to/dummy/passwd.ftp
AuthGroupFile       /some/path/to/dummy/group.ftp
AuthOrder           mod_sql.c mod_auth_file.c

SQLConnectInfo      proftpd@localhost:3306 userdatabase password
SQLAuthTypes        Backend Crypt Plaintext OpenSSL
SQLUserInfo         user user_id password NULL NULL ftp_homedir NULL
SQLAuthenticate     users
SQLDefaultUID       14
SQLDefaultGID       50
SQLMinUserUID       13
SQLMinUserGID       49

Ese es un ejemplo más o menos conciso de cómo realizar una autenticación del 100 % desde la base de datos y encarcelarlos en su directorio de inicio tal como figura en la base de datos. Si también desea crear dinámicamente su directorio de inicio cuando inician sesión (útil si los agrega a una base de datos y no desea iniciar sesión en un servidor para hacerlo), puede agregar:

CreateHome on dirmode 0755

...a la configuración. Los otros dos archivos ficticios enumerados anteriormente coinciden con su instalación de ProFTPd, que en un servidor Red Hat/Centos:

contraseña.ftp

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin

grupo.ftp

ftp:x:50:
nobody:x:99:

Todo esto hace que sus usuarios virtuales tengan UID/GID de 14:50 en el disco duro independientemente de su nombre de usuario de inicio de sesión.

información relacionada