Avez-vous besoin d'un shell pour SCP?


33

J'autorise un ami à un compte local sur ma machine, exclusivement pour SCP. Puis-je spécifier le shell de son compte comme étant /bin/true, ou de toute autre manière, limiter le compte tout en autorisant SCP?

Réponses:


39

Vous pouvez définir le shell de cet utilisateur sur rsshou scponly, conçus précisément à cette fin:

rssh est un shell restreint à utiliser avec OpenSSH, n'autorisant que scp et / ou sftp. Il inclut désormais également le support de rdist, rsync et cvs.

scponly est un «shell» alternatif destiné aux administrateurs système souhaitant donner aux utilisateurs distants accès aux fichiers locaux en lecture et en écriture sans fournir de privilèges d'exécution à distance.

Lorsque vous exécutez scp, le démon OpenSSH déclenche un scpprocessus avec l' -foption. Lorsque vous exécutez sftp, le démon OpenSSH déclenche un sftp-serverprocessus. Dans les deux cas, le sous-processus est exécuté via le shell de l'utilisateur. Ce dernier doit donc prendre en charge au moins ces commandes, avec une syntaxe similaire à Bourne. Tout shell de style Bourne fera l'affaire, de même que csh (je pense que ses règles de citations sont suffisamment compatibles pour ce qui les sshdutilise). Rssh et scponly permettent ces commandes et rien d’autre. /bin/truene serait même pas exécuter ces commandes.


Cela signifie-t-il que / bin / false ou / bin / true ne fonctionnerait pas - ou n'autoriserait que sftp?
Danny Staple le

2
@DannyStaple Si le shell d'un utilisateur est défini sur /bin/falseou si un autre programme ne fait rien, ni scp ni sftp ne fonctionneront. Pour les deux commandes, le démon SSH déclenche une commande shell qui exécute un processus de serveur dédié ( scp -fou sftp-server). Cela nécessite un shell de type Bourne, ou du moins une approximation suffisamment proche (comme par exemple, rsshqui ne laisse passer que ces quelques commandes).
Gilles 'SO- arrête d'être méchant' le

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.