UBUNTU: o ftp-server não pode alterar o diretório quando o usuário efetua login

3

Eu configurei um servidor FTP (vsftpd) para apenas um usuário cliente (ftuser). Este usuário deve ter acesso à pasta / srv / webroot / user. A pasta / srv e todas as subpastas são de minha propriedade. Eu não estou no mesmo grupo como o ftpuser é. Agora eu tentei implementar a permissão do usuário da seguinte maneira:

chmod 770 -R /srv
chmod 777 -R /srv/webroot/user

Mas quando o usuário tenta fazer o login via ftp, o servidor FTP diz:

500 OOPS: cannot change directory: /srv/webroot/user

Da mesma forma que eu dei os direitos do usuário em toda a pasta strcuture por

chmod 777 -R /srv

Agora ele pode não apenas fazer o login, mas também ter acesso à pasta raiz (/) e a todas as outras subpastas (por exemplo, / etc, / home, ...).

Como devo definir os direitos para que meu usuário possa fazer login e obtenha acesso somente a / srv / webroot / user?

    
por heinob 15.06.2012 / 09:03

3 respostas

1

Se você quiser que o usuário veja apenas seus próprios arquivos, então você precisa configurar as opções relacionadas ao "chroot" em vsftpd.conf. Limitar o acesso de usuários do ftp com "chmod" e "chown" é um mau caminho. O usuário deve poder escrever em seu diretório ftp-root para efetuar login.

    
por 15.06.2012 / 09:46
1

Para permitir que um usuário mude para um diretório específico cd , o usuário deve ter a permissão x (bit 1 em numérico). Se você não quiser permitir essa permissão para todos, é necessário permitir o grupo g+x ou usuário u+x . Claro, você precisa definir a propriedade correta também.

    
por 15.06.2012 / 09:24
0

heinob - há uma seção no /etc/vsftpd.conf como segue

# You may specify an explicit list of local users to chroot() to their home directory. If chroot_local_user is YES, then this list becomes a list of users to NOT chroot().(Warning! chroot'ing can be very dangerous. If using chroot, make sure that the user does not have write access to the top level directory within the chroot)
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

Tem certeza de que chroot_local_user=YES não está sem comentários?

    
por 16.05.2014 / 00:55