Un service FTP capable d'authentifier les utilisateurs du système ainsi que des utilisateurs “virtuels” maintenu dans une base de donnée. Il faudrait également que ces utilisateurs puissent être “chrooté” dans leur home ou non.
Globalement, il répond à toutes ces attentes.
Lien : Docs mod_sql
* Charger les modules mod_sql.c et mod_sql_postgres.c (ou mod_sql_mysql.c).
SQLBackend mysql # 'mysql' ou 'postgres' SQLConnectInfo proftpd_db@host.sql.org proftpd_user proftpd_pass
SQLEngine on SQLAuthenticate on
SQLAuthTypes Crypt Plaintext
SQLMinID 69000 SQLDefaultGID 69001
Table : users
/-----------------------------------------------------------------\ | userid | passwd | uid | gid | homedir | shell | |-----------------------------------------------------------------| | user1 | pass | 69001 | 69001 | /home/virtual/user1 | /bin/sh | |-----------------------------------------------------------------| | user2 | pass | 69002 | 69001 | /home/virtual/user2 | /bin/sh | \-----------------------------------------------------------------/
Table : groups
/---------------------------------\ | groupname | gid | members | |---------------------------------| | ftpusers | 69001 | | |---------------------------------| | groupex | 69002 | user1,user2 | \---------------------------------/
Remarque : Les noms des champs et des tables peuvent être personnalisés grâce aux directives SQLUserInfo et SQLGroupInfo.
Liens :
AuthOrder mod_sql.c mod_auth_unix.c
Lien : http://www.proftpd.org/docs/directives/linked/config_ref_AuthOrder.html
CreateHome on
Lien : http://www.proftpd.org/docs/directives/linked/config_ref_CreateHome.html
DefaultRoot ~ !nochroot
Lien : http://www.proftpd.org/docs/directives/linked/config_ref_DefaultRoot.html
Remarque : Les groupes des utilisateurs SQL et POSIX sont distincts : il faut maintenir le groupe à la fois dans le système POSIX et dans une base SQL avec même le nom (et même gid)