Como restringir os usuários do SFTP a diretórios domésticos usando a prisão de chroot
- 1602
- 293
- Ms. Travis Schumm
Neste tutorial, estaremos discutindo como restringir Sftp Usuários para seus diretórios domésticos ou diretórios específicos. Isso significa que o usuário só pode acessar seu respectivo diretório doméstico, não todo o sistema de arquivos.
Restringir os diretórios domésticos dos usuários é vital, especialmente em um ambiente de servidor compartilhado, para que um usuário não autorizado não se espalhe pelos arquivos e pastas do outro usuário.
Importante: Por favor, observe também que o objetivo deste artigo é fornecer apenas acesso ao SFTP, não os logins SSH, seguindo este artigo, terá as permissões para transferir arquivos, mas não permissão para fazer uma sessão SSH remota.
Leia sugerida: Restrinja o acesso ao usuário do SSH a um determinado diretório usando a prisão de chrootas
A maneira mais simples de fazer isso é criar um ambiente de prisão de chroot para acesso SFTP. Este método é o mesmo para todos os sistemas operacionais UNIX/Linux. Usando o ambiente de chrootas, podemos restringir os usuários ao diretório doméstico ou a um diretório específico.
Restringir os usuários a diretórios domésticos
Nesta seção, criaremos um novo grupo chamado sftpgroup e atribua a propriedade e as permissões corretas às contas de usuário. Existem duas opções para restringir os usuários a diretórios domésticos ou específicos, veremos os dois vão neste artigo.
Criar ou modificar usuários e grupos
Vamos restringir o usuário existente, por exemplo Tecmint
, para seu diretório doméstico chamado /Home/Tecmint
. Para isso, você precisa criar um novo sftpgroup grupo usando grupo comando como mostrado:
# groupadd sftpgroup
Em seguida, atribua o usuário 'Tecmint' para sftpgroup grupo.
# userMod -g sftpgroup tecmint
Você também pode criar um novo usuário usando o comando useradd, por exemplo Senthil
e atribuir o usuário a sftpusers grupo.
# adduser senthil -g sftpgroup -s /sbin /nologin # passwd tecmint
Modificar o arquivo de configuração SSH
Abra e adicione as seguintes linhas a /etc/ssh/sshd_config
arquivo de configuração.
Subsistema SFTP Grupo de correspondência interna-sftp Sftpgroup ChrootDirectory /home forceCommand
Salve e saia do arquivo, reinicie o serviço SSHD para levar novas mudanças em vigor.
# SystemCTL Reiniciar SSHD ou # Service SSHD RESTART
Se você Chroot vários usuários para o mesmo diretório, altere as permissões do diretório inicial de cada usuário para impedir que todos os usuários naveguem nos diretórios domésticos entre si usuários.
# chmod 700 /home /tecmint
Verifique o login dos usuários SSH e SFTP
Agora, é hora de verificar o login de um sistema local. Tente ssh seu sistema remoto do seu sistema local.
# ssh [email protegido]
Aqui,
- Tecmint - nome de usuário do sistema remoto.
- 192.168.1.150 - Endereço IP do sistema remoto.
Saída de amostra:
[Email Protected] Senha: não foi possível Chdir para diretório /casa /Tecmint: nenhum arquivo ou diretório esse serviço permite apenas conexões SFTP. Conexão com 192.168.1.150 fechado.
Em seguida, acesse o sistema remoto usando SFTP.
# sftp [email protegido]
Saída de amostra:
[Email Protected] senha: conectado a 192.168.1.150. sftp>
Vamos verificar o diretório de trabalho atual:
sftp & gt pwd Diretório de trabalho remoto: / sftp & gt ls Tecmint
Aqui, Tecmint
é o diretório doméstico. CD para o Tecmint diretório e crie os arquivos ou pastas de sua escolha.
SFTP & GT CD Tecmint Diretório de trabalho remoto: / teste SFTP & GT MKDIR Tecmint
Restringir os usuários a um diretório específico
Em nosso exemplo anterior, restringimos os usuários existentes ao diretório inicial. Agora, veremos como restringir um novo usuário a um diretório personalizado.
Crie grupo e novos usuários
Crie um novo grupo sftpgroup
.
# groupadd sftpgroup
Em seguida, crie um diretório para o grupo SFTP e atribua permissões para o usuário raiz.
# mkdir -p/sftpusers/chroot # chown root: root/sftpusers/chroot/
Em seguida, crie novos diretórios para cada usuário, para os quais eles terão acesso total. Por exemplo, vamos criar Tecmint
Usuário e seu novo diretório doméstico com permissão de grupo correta usando a série de comandos a seguir.
# adduser Tecmint -g sftpGroup -s/sbin/nologin # passwd Tecmint # mkdir/sftpusers/chroot/tecmint # chown tecmint: sftpgroup/sftpusers/chroot/tecmint/ # chmod 700/sftSers
Configure o acesso SSH para SFTP
Modifique ou adicione as seguintes linhas no final do arquivo:
#Subsystem sftp/usr/libexec/openSsh/sftp-server subsistema sftp interno-sftp Grupo sftpgroup ChrootDirectory/sftpusers/chroot/forceCommand interno-sftp x11 parawarding sem permitir que não
Salvar e sair do arquivo. Reinicie o serviço SSHD para entrar em vigor as mudanças salvas.
# SystemCTL Reiniciar SSHD ou # Service SSHD RESTART
É isso, você pode verificar logon no seu servidor SSH e SFTP remoto usando a etapa fornecida acima no Login Verificado SSH e SFTP.
Lembre -se de que esse método desabilitará o acesso da concha, eu.e você não pode acessar a sessão de shell do sistema remoto usando SSH. Você só pode acessar os sistemas remotos via SFTP e transferir arquivos para e para os sistemas locais e remotos.
Conclusão
Agora você sabe como restringir os usuários diretórios domésticos usando um ambiente de chroot no Linux. Se você achar isso útil, compartilhe este artigo em suas redes sociais e informe -nos na seção de comentários abaixo se houver outros métodos para restringir os usuários diretórios domésticos.
- « Como instalar o Magento CMS mais recente no Ubuntu e Debian
- 3 maneiras de listar todos os pacotes instalados em Rhel, Centos e Fedora »