vsftpd - restringe os usuários ao diretório inicial

1

Configure vsftpd facilmente

Se eu executar essa configuração:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=NO
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

Depois recebo uma mensagem de erro:

  

500 OOPS: vsftpd: recusando-se a executar com raiz gravável dentro do chroot ()

No entanto, se eu adicionar allow_writeable_chroot=YES como sugerido aqui , então ele não consegue se conectar:

  

Falha na tentativa de conexão com "ECONNREFUSED - Conexão recusada pelo servidor"

No entanto, se eu remover a linha que acabou de ser adicionada e executar sudo chmod a-w no diretório inicial dos usuários, eles agora podem se conectar, mas o serviço é inútil, já que eles não podem fazer upload de nada.

Existe uma maneira de restringir os usuários a apenas seu diretório pessoal E poder conectar e gravar em seu diretório pessoal? Desativar chroot_local_user não é uma opção, pois eles podem procurar todos os outros diretórios de usuários.

    
por Programster 05.12.2012 / 15:24

2 respostas

3

Você está procurando a opção de configuração allow_writeable_chroot , mas isso não existe na versão do vsftpd enviada com o 12.04. Veja o erro 1065714 para um inquérito semelhante e detalhes de porque não podemos ter isto em 12.04.

  

Desativar chroot_local_user não é uma opção, pois eles podem procurar todos os outros diretórios de usuários.

Já considerou mudar para diretórios de usuários particulares por padrão? Se você não quiser que os usuários possam navegar pelos diretórios de outros usuários, uma maneira mais segura de conseguir isso é com o mecanismo de permissão incorporado ao sistema, em vez de cada serviço individual. Consulte a seção gerenciamento de usuários do guia do servidor para obter detalhes sobre como faça isso. Desativar chroot_local_user seria uma opção para você?

    
por Robie Basak 05.12.2012 / 15:35
0

Mais detalhes sobre o seguinte link .

você pode escolher uma das três formas: 1. Defina a opção local_root = no arquivo de configuração. deve por / home ou outro caminho para o diretório com pastas de usuários. Desta forma, vsftpd chrooting para o diretório / home.

  1. Defina a opção passwd_chroot_enable = yes no arquivo de configuração e altere o diretório home do usuário do arquivo / etc / passwd de «/ home / user» para «/home/.user» (sem aspas). Desta forma, vsftpd chrooting para o diretório / home.

  2. Faça o download das fontes de vsftpd-ext, compile e sobrescreva os binários vsftpd ou pegue-os nos repositórios e inclua na opção de arquivo de configuração allow_writeable_root = yes.

por OHLÁLÁ 15.08.2013 / 14:47