Maneira simples e fácil de prender usuários

33

Eu preciso de uma maneira simples e fácil de prender usuários em seus diretórios pessoais no Oneiric. Você tem uma configuração simples para prender usuários, com ajuda completa ou alguns bons links da Web?

Eu estaria oferecendo um servidor público gratuito online com 10 a 20 GB de espaço livre. Eu não sei quantos usuários. Eu quero dar a eles SSH e SFTP para que eles possam se conectar através do FileZilla.

    
por One Zero 06.01.2012 / 22:27

4 respostas

20

O Jailkit é um conjunto de utilitários que podem limitar as contas de usuários a uma árvore de diretórios específica e a comandos específicos. Configurar uma cadeia é muito mais fácil usando os utilitários Jailkit que fazem isso "manualmente". Uma cadeia é uma árvore de diretórios que você cria dentro do seu sistema de arquivos; o usuário não pode ver nenhum diretório ou arquivo que esteja fora do diretório jail. O usuário é preso nesse diretório e em seus subdiretórios.

Fazer o download & amp; Instalar:

link

# cd /tmp
# wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
# tar -zxvf jailkit-2.17.tar.gz
# cd jailkit-2.17
# ./configure
# make
# make install
% bl0ck_qu0te%

Agora é hora de configurar o diretório de prisão. Os usuários encarcerados verão esse diretório como o diretório raiz do servidor. Eu escolhi usar / home / jail:

# mkdir /home/jail
# chown root:root /home/jail

jk_init pode ser usado para criar rapidamente uma cadeia com vários arquivos ou diretórios necessários para uma tarefa ou perfil específico, ( clique nele e leia todos os detalhes).

# jk_init -v /home/jail basicshell
# jk_init -v /home/jail netutils
# jk_init -v /home/jail ssh
# jk_init -v /home/jail jk_lsh
% bl0ck_qu0te%

Adicione um novo usuário com um diretório base e um bash shell, e defina a senha:

# useradd -d /home/testuser -m testuser -s /bin/bash
# passwd testuser
% bl0ck_qu0te%
# jk_jailuser -m -j /home/jail testuser
% bl0ck_qu0te%
testuser:x:1001:1001::/home/jail/./home/testuser:/usr/sbin/jk_chrootsh
% bl0ck_qu0te%
# jk_cp -v -f /home/jail /bin/bash
% bl0ck_qu0te%
testuser:x:1001:1001::/home/testuser:/bin/bash
% bl0ck_qu0te%
# jk_update -j /home/jail -d

Sem o argumento -d, a atualização real é executada. Mais operações de manutenção podem ser encontradas aqui.

Ajuda obtida

% bl0ck_qu0te%     
por One Zero 07.02.2012 / 14:24
6

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

O IMO, o método mais fácil de proteger os usuários, é usar o apparmor.

Você faz um link físico

ln /bin/bash /usr/local/bin/jailbash

Você adiciona o jailbash a / etc / shells

Em seguida, você atribui o jailbash ao shell do usuário e, em seguida, escreve um perfil apparmor para o jailbash, permitindo acesso mínimo.

sudo chsh -s /usr/local/bin/jailbash user_to_confine

Você terá que escrever um perfil apparmor, mas eu tenho um perfil que você poderia começar com

link

    
por Panther 06.01.2012 / 22:38
1

É difícil adivinhar qual propósito você deseja realizar. Se é para negar ssh / sftp ao fornecer acesso preso via FTP ... fácil:

Adicione a / etc / shells um novo shell:

sudo -e /etc/shells

Adicione uma linha:

/bin/false

Salvar. Para cada usuário que você deseja negar ssh / sftp, altere o shell do usuário:

sudo chsh -s /bin/false userx

Agora o userx não pode efetuar login via ssh / sftp.

Instalar o vsftpd:

sudo apt-get install vsftpd

Edite o arquivo de configuração:

sudo -e /etc/vsftpd.conf

E algumas alterações ....

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES

Salvar. Reinicie o vsftpd:

sudo /etc/init.d/vsftpd restart
    
por user8290 06.01.2012 / 23:54
0

Você pode conferir rbash como um shell para seus usuários.

man bash

Pesquise RESTRICTED SHELL seção

Ou veja esta página link

    
por Karlson 06.01.2012 / 22:33