Então, para responder minha própria pergunta ... usei um aplicativo FTP mais fácil. link
Rápido, sujo. Não é SFTP ou FTPS ou FTP através de um túnel SSH, mas é o que eu estava pedindo e funciona muito bem.
Estou preso. Eu tenho trabalhado o dia todo tentando descobrir o que estou fazendo de errado e bati parede após parede.
O que estou tentando fazer: Configure o FTP de tal forma que certos usuários tenham acesso apenas ao seu diretório, mas os usuários de nível superior tenham acesso a todos os diretórios.
O que eu pesquisei até o momento: Comecei com este , mas isso não fez o que Eu precisava disso. Eu então usei isso , mas uma vez que eu criei um usuário, ele não me deixava criar outro 1. Finalmente, eu decidi seguir este , mas não permitiria eu até crie um usuário.
Estou usando o Ubuntu 10. Eu consigo logar no ftp como usuário root e ele me leva ao diretório inicial. Se eu tentar entrar usando o usuário que eu criei no tutorial, ele diz:
Status: Connection established, waiting for welcome message...
Response: 220 (vsFTPd 2.2.2)
Command: USER mathew
Response: 331 Please specify the password.
Command: PASS ****
Response: 530 Login incorrect.
Error: Critical error
Error: Could not connect to server
EDITAR: Ainda estou tendo problemas para entender o CHROOT com o FTP. Todo tutorial que eu leio parece completamente diferente e me faz fazer coisas diferentes. Todo tutorial que eu li no VSFTP me faz fazer coisas diferentes também. Eu pensei que usar o Linux seria mais fácil de configurar e configurar, mas até agora estou lutando com algo que deveria ser simples. É mais fácil configurar uma pilha LAMP inteira do que FTP. SIGH Desculpe, pelo discurso.
Então, para responder minha própria pergunta ... usei um aplicativo FTP mais fácil. link
Rápido, sujo. Não é SFTP ou FTPS ou FTP através de um túnel SSH, mas é o que eu estava pedindo e funciona muito bem.
A menos que você tenha um motivo muito específico, não use ftp
. É inseguro e limitado.
Se você ainda deseja prosseguir, a informação que você está procurando é chamada de 'chroot' e é muito possível, mas você provavelmente não a encontrará procurando na documentação do ftp. Comece com isso no Google: chroot an FTP user
Se você mudasse para ssh
, onde você pode usar sftp
, poderá configurar um ambiente chroot em aproximadamente 5 minutos se souber o que precisa acontecer. Leia para saber mais!
As informações abaixo são coletadas no link
Você precisa configurar o OpenSSH para usar seu subsistema SFTP interno. Isso precisa estar em /etc/ssh/sshd_config
Subsystem sftp internal-sftp
O ambiente Chroot deve ser especificado dentro de um segmento Match.
Match group sftponly ChrootDirectory /home/%u X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
Observe que o ChrootDirectory
foi especificado, assim como o ForceCommand
.
O diretório pessoal do usuário DEVE SER POSSUÍDO PELA RAIZ! Isso não é opcional. Não só isso, mas também não deve ser gravável por qualquer usuário EXCETO root. O diretório inicial e todos os diretórios pai têm as mesmas restrições.
drwxr-xr-x 21 root root 4096 Jan 1 12:51 / drwxr-xr-x 16 root root 4096 Jan 15 14:26 /home drwxr-xr-x 3 root root 4096 Jan 15 14:27 /home/chroot drwxrwxrwx 2 chroot chroot 4096 Jan 15 14:27 /home/chroot/upload
Observe que as permissões para o diretório base do usuário ( /home/chroot
) NÃO podem ser gravadas nem pelo proprietário (uma conta chamada chroot
). Eu criei um diretório de upload que permite a modificação como um exemplo. Nesta configuração, o usuário chroot
NÃO possui acesso de gravação ao seu próprio diretório inicial. Isso é intencional e necessário para o sftp chroot. Novamente, todos os diretórios pai devem ter permissões semelhantes.