ProFTPd: como mostrar o nome de usuário virtual nas listagens?

2

Estou usando o ProFTPd 1.3.5a (já obtenho o mesmo comportamento em um antigo 1.3.4d) com uma configuração de usuários virtuais bastante comum para um servidor web.

Em palavras simples, o ProFTPd está sendo executado com o UID / GID do apache e possui seus arquivos locais para autenticação. Todos os usuários têm o mesmo UID / GID real (novamente, o do Apache) e são chrooted em seus diretórios, com entradas DirFake *.

Este é um trecho da configuração:

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>

Mas com cada cliente FTP que tento, ao listar arquivos, eu só recebo UID / GID numérico e não o nome de usuário virtual. Isso também é irritante porque clientes como o CyberDuck irão assumir que ID numérico não é o mesmo que o usuário com o qual estão conectados, e mostrarão todos os arquivos / diretórios como inacessíveis (mesmo que tentem acessá-los realmente funciona).

editar : no servidor há um usuário "real" www-data com UID 33 e grupo www-data com GID 33, ProFTPd é executado com esse UID / GID, os usuários virtuais em /etc/proftpd/ftpd.[passwd|group] all tem uid = gid = 33, todos os arquivos nos diretórios de usuários têm uid = gid = 33. No momento, os clientes ftp listam todos os arquivos como uid 33 e gid 33 e não convertem IDs numéricos em nomes de usuários / grupos. Eu não quero mostrar arquivos como pertencentes a www-data em clientes ftp, mas pertencentes ao nome de usuário que eles usaram para autenticar. Isso também é o que o mod_ls faria com DirFake* opções, como eu entendi: jogando usuário / grupo falso para os clientes conectados. Não está fazendo isso ou pelo menos está fazendo isso apenas para os IDs numéricos.

Como posso deixar o ProFTPd mostrar o nome de usuário virtual nas listagens para clientes?

    
por Luke404 30.09.2016 / 14:54

1 resposta

2

Alguns clientes FTP agora usam os comandos mais recentes MLSD / MLST , em vez de LIST e NLST , para listar arquivos; esses novos comandos não possuem fatos para os nomes, apenas os IDs. Assim, você pode tentar adicionar FactsAdvertise off ao seu proftpd.conf , que diz ao ProFTPD para não < em> anunciar que ele pode lidar com esses novos comandos FTP. Isso, por sua vez, deve fazer com que os clientes FTP retornem aos comandos FTP mais antigos, que fornecem os nomes.

Atualização : solicitei que dois novos fatos específicos do sistema operacional, UNIX.ownername and UNIX.groupname , seja registrado com a IANA para uso em MLSD listagens, para poder fornecer os nomes de usuários / grupos nas listagens usando esse comando. Eu estarei adicionando suporte para estes ao ProFTPD em breve .

Espero que isso ajude!

    
por 30.10.2016 / 16:35

Tags