Jail usuário para o diretório inicial, permitindo ainda a permissão para criar e excluir arquivos / pastas

6

Eu estou tentando dar acesso ao SFTP do cliente para o diretório raiz do site deles no meu servidor (Ubuntu 10.10) para que eles mesmos possam gerenciar seu site.

Embora eu tenha sido bem sucedido em prender um usuário a um diretório e dar a ele acesso ao SFTP; eles só têm permissão para criar e excluir novos arquivos em sub-diretórios (os diretórios que eles possuem). Isso significa que devo fornecer acesso ao diretório pai para a raiz do site.

Até agora segui as instruções deste tutorial da seguinte forma:

addgroup filetransfer
usermod -G filetransfer username
chown root:root /home/username
chmod 755 /home/username
cd /home/username
mkdir docs public_html
chown username:username *

Como posso limitá-los à raiz do site (por exemplo, public_html), permitindo ainda a capacidade de criar e excluir arquivos. Todos os tutoriais que li sugerem que a raiz deve ser o proprietário do diretório pessoal do usuário, o que impede o acesso de gravação dentro desse diretório.

Sou relativamente novo no gerenciamento de meu próprio servidor, portanto, qualquer conselho seria muito grato.

Muito obrigado.

    
por Mindthetic 28.03.2012 / 15:31

2 respostas

1

Você deve dizer exatamente o que fez para conseguir isso. Se você ainda não estiver, provavelmente deveria tentar usar o chroot (conselhos aqui: link ).

Para o seu problema específico, você precisa fornecer aos usuários permissão de gravação em sua pasta raiz. Defina-os como proprietários e verifique se a permissão de gravação está definida. Não sei por que isso seria uma ideia tão ruim:

# chown someuser /user/root/folder
# chmod u+w /user/root/folder

Ou, se você quiser manter o root como proprietário, poderá fazê-lo com um grupo:

# addgroup somegroup
# adduser someuser somegroup
# chgrp somegroup /user/root/folder
# chmod g+w /user/root/folder

EDITAR

Como os comentários mencionam no link fornecido, parece que o root deve ser o proprietário do diretório em questão para que o chroot funcione corretamente. Mas nada parece impedir a mudança do grupo. Então, seguindo os nomes deste tutorial, isso poderia fazer o truque:

# chown root:filetransfer /home/username
# chmod 775 /home/username

Observe como as permissões agora são 775 e não 755, isso dá permissão de gravação a todos os usuários pertencentes ao grupo de transferência de arquivos.

EDIT 2

Não, isso não é suficiente. Talvez isso não seja viável.

    
por 28.03.2012 / 15:58
0

Para o sistema Ubuntu -

Eu usei este comando com estes argumentos:

sudo useradd -d /home/node -m node

E, em seguida, testei com este nome de usuário e sftp em ssh - eu estava com sucesso prendendo esse nome de usuário, e um bin / shell skelton é dado a esse nome de usuário, mas com função limitada.

Esta é a solução mais simples e melhor que encontrei há apenas algumas noites.

    
por 17.03.2014 / 07:58