J'autorise un ami à créer un compte local sur ma machine, exclusivement pour SCP. Puis-je spécifier le shell de son compte comme /bin/true
, ou de toute autre manière limiter le compte, tout en autorisant SCP ?
Réponse acceptée :
Vous pouvez définir le shell de cet utilisateur sur rssh
ou scponly
, qui sont conçues précisément dans ce but :
rssh est un shell restreint à utiliser avec OpenSSH, n'autorisant que scp et/ou sftp. Il inclut désormais également la prise en charge de rdist, rsync et cvs.
scponly est un "shell" alternatif (en quelque sorte) pour les administrateurs système qui souhaitent permettre aux utilisateurs distants d'accéder à la fois à la lecture et à l'écriture de fichiers locaux sans fournir de privilèges d'exécution à distance.
Lorsque vous exécutez scp, le démon OpenSSH déclenche un scp
traiter avec le -f
option. Lorsque vous exécutez sftp, le démon OpenSSH déclenche un sftp-server
processus. Dans les deux cas, le sous-processus est exécuté via le shell de l'utilisateur, de sorte que le shell doit prendre en charge au moins ces commandes, avec une syntaxe de type Bourne. N'importe quel shell de style Bourne fera l'affaire, tout comme csh (je pense que ses règles de citation sont suffisamment compatibles pour ce que sshd
les usages). Rssh et scpon autorisent ces commandes et rien d'autre. /bin/true
n'exécuterait même pas ces commandes.