Conceda aos usuários ftp acesso a diretórios fora de sua raiz usando links simbólicos

8

Tentei dar aos usuários virtuais do proftpd acesso a diretórios fora de seus caminhos iniciais usando links simbólicos que criei como root no console.

/var/ftp/users/test é a casa do usuário nomeado test.
/var/ftp/files/documents é o diretório que contém os documentos e /var/ftp/users/test/documents é o link simbólico que aponta para ele.

Mas quando um usuário se conecta ao FTP e tenta seguir o link simbólico, ele vê apenas este erro:

documents: No such file or directory

O que estou fazendo errado?

Sebastián Grignoli
fonte

Respostas:

21

Os links simbólicos são bloqueados na prisão da mesma maneira que o usuário; caso contrário, seria possível ao usuário sair da prisão cd documents. (Não, os links simbólicos criados pela raiz não podem ser tratados especialmente, pelo mesmo motivo que o cd -P symlink-to-dir; cd ..deixa no lugar errado; a aparência dele funcionando como seria de esperar é uma ilusão criada pelo shell.) Use uma montagem de ligação ( mount --bind /var/ftp/files/documents /var/ftp/users/test/documents)

geekosaur
fonte
Isso precisa ser feito sempre que o servidor reiniciar, certo?
Sebastián Grignoli 04/04
11
Sim; você vai querer colocá-lo /etc/fstab.
Geekosaur
7
Apenas por exemplo, para ajudar alguém fora, aqui são a montar e quivelants fstab: montar mount --bind /path/to/original/directory /path/to/mountpoint fstab /path/to/original/directory /path/to/mountpoint none bind 0 0
Benjamin Kaiser