rbash para limitar o usuário ao seu diretório home fecha a conexão sftp

3

Servidor: Servidor 6.5 do Red Hat Enterprise Linux (Santiago)

Usando o openssh-server para permitir conexões sftp.

Estou tentando limitar os usuários ao seu próprio diretório pessoal. Então eu modifiquei o / etc / passwd definindo o usuário "john" para usar /bin/rbash em vez de /bin/bash

john:502:503::/home/john:/bin/rbash

Se eu fizer isso, john não pode se conectar via sftp: a conexão fecha assim que ele se conecta (a mensagem sftp é Connection closed ). Se eu definir o bash como / bin / bash, a conexão dele funciona bem, mas, então, john pode viajar por todo o sistema de arquivos do servidor usando cd.

Você pode explicar o que estou fazendo de errado para limitar os usuários que se conectam via sftp ao seu próprio diretório?

    
por pixeline 26.02.2014 / 11:31

2 respostas

1

rbash não permitirá que você execute comandos com um / inicial, se estiver sendo tentado, ele simplesmente sairá.

A menos que você esteja usando o servidor sftp interno, uma tentativa de executar /usr/libexec/sftp-server falhará.

Usar Subsystem sftp internal-sftp no sshd_config corrigirá isso.

No entanto, usar rbash não impedirá que o sftp perambule pelo seu sistema de arquivos, você provavelmente desejará chroot os usuários ao invés .

    
por 26.02.2014 / 12:01
0

você pode usar o shell normal sem o link, para shell restrito, em / etc / profile colocar isso

 if [[ $USER == "pluto" ]]; then
      export PATH=$HOME/bin
      readonly PATH
      set -r
 fi

e

mkdir /home/pluto/bin as root
ln -s /bin/ls /home/pluto/bin/ls

Desta forma, o trabalho sftp e o pluto só podem usar o comando ls

    
por 26.02.2014 / 12:46