2 votes

ProFTPd : comment afficher le nom de l'utilisateur virtuel dans les listes ?

J'utilise ProFTPd 1.3.5a (j'obtiens le même comportement avec une ancienne version 1.3.4d) avec une configuration d'utilisateurs virtuels assez commune pour un serveur web.

En d'autres termes, ProFTPd fonctionne avec l'UID/GID d'apache et dispose de ses fichiers locaux pour l'authentification. Tous les utilisateurs ont le même UID/GID réel (encore une fois, celui d'apache) et sont chrootés dans leurs répertoires, avec des entrées DirFake*.

C'est un extrait de la configuration :

AuthPAM off
AuthOrder mod_auth_file.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthGroupFile /etc/proftpd/ftpd.group
UseFtpUsers off
DefaultRoot ~
DefaultChdir /
DirFakeUser on ~
DirFakeGroup on ~
DirFakeMode 0644
ShowSymLinks off
Umask 026 027

<Directory ~/>
  UserOwner www-data
  GroupOwner www-data
</Directory>

Mais avec chaque client ftp que j'essaie, lorsque je liste les fichiers, je n'obtiens que l'UID/GID numérique et non le nom d'utilisateur virtuel. C'est également ennuyeux parce que des clients tels que CyberDuck supposeront que l'ID numérique n'est pas le même que l'utilisateur avec lequel ils sont connectés, et afficheront tous les fichiers/répertoires comme inaccessibles (même si ensuite essayer d'y accéder fonctionne).

modifier : sur le serveur, il y a un utilisateur "réel". www-data avec l'UID 33 et le groupe www-data avec le GID 33, ProFTPd s'exécute avec cet UID/GID, les utilisateurs virtuels dans le groupe www-data et le GID 33. /etc/proftpd/ftpd.[passwd|group] tous ont uid=gid=33, tous les fichiers dans les répertoires des utilisateurs ont uid=gid=33. Actuellement, les clients ftp listent tous les fichiers comme uid 33 et gid 33 et ne parviennent pas à convertir les ID numériques en noms d'utilisateur / de groupe. Je ne veux pas montrer les fichiers comme appartenant à www-data dans les clients ftp, mais appartenant au nom d'utilisateur qu'ils ont utilisé pour s'authentifier. C'est également ce que le mod_ls ferait avec DirFake* si j'ai bien compris : envoyer un faux utilisateur/groupe aux clients connectés. Ce n'est pas ce qu'il fait, ou du moins ce qu'il fait uniquement pour les ID numériques.

Comment puis-je laisser ProFTPd montrer le nom d'utilisateur virtuel dans les listings aux clients ?

2voto

Castaglia Points 3139

Certains clients FTP utilisent désormais la nouvelle version MLSD / MLST plutôt que LIST y NLST pour lister les fichiers ; ces commandes plus récentes n'ont pas de faits pour les noms, seulement les ID. Vous pouvez donc essayer d'ajouter FactsAdvertise off à votre proftpd.conf ce qui indique à ProFTPD de ne pas faire de la publicité pour qu'il peut gérer ces nouvelles commandes FTP. Cela devrait inciter les clients FTP à se rabattre sur les anciennes commandes FTP, qui fournissent les noms.

Mise à jour : J'ai demandé que deux nouveaux faits spécifiques à l'OS, UNIX.ownername y UNIX.groupname sont enregistrés auprès de l'IANA pour être utilisés dans les domaines suivants MLSD pour pouvoir fournir les noms d'utilisateurs et de groupes dans les listes utilisant cette commande. Je vais ajouter le support de ces commandes à ProFTPD. bientôt .

J'espère que cela vous aidera !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X