Preciso de uma maneira simples e fácil de prender os usuários em seus diretórios pessoais no Oneiric. Você tem uma configuração simples para prender os usuários, com ajuda completa ou alguns bons links da web?
Eu estaria oferecendo um servidor público gratuito on-line com 10 a 20 GB de espaço livre. Não sei quantos usuários. Quero dar a eles SSH e SFTP para que eles possam se conectar através do FileZilla.
Respostas:
O Jailkit é um conjunto de utilitários que podem limitar as contas de usuário a uma árvore de diretórios específica e a comandos específicos. Configurar uma prisão é muito mais fácil usando os utilitários do Jailkit, fazendo isso 'manualmente'. Uma prisão é uma árvore de diretórios que você cria no seu sistema de arquivos; o usuário não pode ver nenhum diretório ou arquivo que esteja fora do diretório da prisão. O usuário está preso nesse diretório e subdiretórios.
Baixe e instale:
http://olivier.sessink.nl/jailkit/index.html#download
Configurando a prisão
Agora é hora de configurar o diretório da prisão. Usuários encarcerados verão esse diretório como o diretório raiz do servidor. Eu escolhi usar / home / jail:
O jk_init pode ser usado para criar rapidamente uma prisão com vários arquivos ou diretórios necessários para uma tarefa ou perfil específico (clique nele e leia todos os detalhes).
Adicione um usuário
Adicione um novo usuário com um diretório inicial e um shell bash e defina a senha:
Agora é hora de prender esse usuário
use o seguinte comando:
Você
/etc/passwd
deve conter algo assim agora:Ativar bash
Usando jk_cp, as bibliotecas bash são copiadas para a prisão:
Editar
/home/jail/etc/passwd
substitua esta linha:
com isso:
Manutenção
Ao usar
jk_update
atualizações no sistema real pode ser atualizado na prisão.Um teste a seco mostrará o que está acontecendo:
Sem o argumento -d, a atualização real é realizada. Mais operações de manutenção podem ser encontradas aqui.
(Caso
/home/jail/opt
esteja faltando, crie-o commkdir -p /home/jail/opt/
E executejk_update -j /home/jail
novamente)Conceder acesso a outros diretórios
Você pode montar pastas especiais, que o usuário da cadeia pode acessar agora. Por exemplo:
Ajuda Tomada
fonte
Você não pode confiná-los a / home, pois eles precisam acessar os binários do sistema e os arquivos bash e de configuração em / etc
Na IMO, o método mais fácil de proteger os usuários é usar o apparmor.
Você cria um link físico
Você adiciona jailbash ao / etc / shells
Em seguida, você atribui o jailbash ao shell do usuário e, em seguida, escreve um perfil de apparmor para o jailbash, permitindo acesso mínimo.
Você terá que escrever um perfil de aparelho, mas eu tenho um perfil com o qual você poderia começar
http://bodhizazen.com/aa-profiles/bodhizazen/ubuntu-10.04/usr.local.bin.jailbash
fonte
You can not confine them to /home as they need access to the system binaries and bash and configuration files in /etc
Não há nada que o impeça de vincular / copiar arquivos que você acha que eles precisam.jailkit
uma ferramenta mencionada pelo OP.É difícil adivinhar qual o objetivo que você deseja alcançar. Se é para negar ssh / sftp enquanto fornece acesso preso via FTP ... fácil:
Adicione ao / etc / shells um novo shell:
Adicione uma linha:
Salve . Para cada usuário que você deseja negar ssh / sftp, altere o shell do usuário:
Agora, o userx não pode efetuar login via ssh / sftp.
Instale o vsftpd:
Edite o arquivo de configuração:
E algumas mudanças ....
Salve . Reinicie o vsftpd:
fonte
Você pode conferir
rbash
como um shell para seus usuários.Pesquisar
RESTRICTED SHELL
seçãoOu consulte esta página http://linux.die.net/man/1/bash
fonte
rbash
?