Você precisa de um shell para o SCP?

31

Estou permitindo a um amigo uma conta local em minha máquina, exclusivamente para SCP. Posso especificar o shell de sua conta como /bin/true , ou de qualquer outra forma limitar a conta, enquanto ainda permitindo SCP?

    
por Gilles 21.03.2011 / 23:06

2 respostas

38

Você pode definir o shell desse usuário como rssh ou scponly , que são projetados precisamente para essa finalidade:

rssh is a restricted shell for use with OpenSSH, allowing only scp and/or sftp. It now also includes support for rdist, rsync, and cvs.

scponly is an alternative 'shell' (of sorts) for system administrators who would like to provide access to remote users to both read and write local files without providing any remote execution priviledges.

Quando você executa o scp, o daemon do OpenSSH dispara um processo scp com a opção -f . Quando você executa o sftp, o daemon do OpenSSH dispara um processo sftp-server . Em ambos os casos, o subprocesso é executado através do shell do usuário, de modo que o shell deve suportar pelo menos esses comandos, com uma sintaxe semelhante a Bourne. Qualquer shell do estilo Bourne serve, assim como o csh (acho que suas regras de cotação são compatíveis o suficiente para o que o sshd usa). Rssh e scponly permitem esses comandos e nada mais. /bin/true nem executaria esses comandos.

    
por 21.03.2011 / 23:10
3

Não, você não. Como Gilles apontou, o rssh funciona muito bem para esse fim, assim como scponly . Veja também a discussão nesta questão relacionada .

    
por 22.03.2011 / 08:54