Le 10/01/2013 19:19, JC PAROLA a
écrit :
[...]
Solution simpliste qui n'est pas adaptée au final à votre cas car ne
permettant pas de laisser l'accès "complet" à un shell à
l'utilisateur mais pratique si l'on veut restreindre à l'usage de
rsync (ou de scripts/commandes données) là où rssh par exemple
limitera l'accès au seul SFTP (rsync impossible) et où lshell sera
bien plus complexe :
Mettre dans le .ssh/authorized_keys2 :
command="/root/.ssh/validate-ssh.sh",no-pty,no-agent-forwarding,no-port-forwarding
ssh-rsa LA_CLE_SSH_ICI
(possibilité aussi de limiter à certaines IP en rajoutant
from="IP"
Puis dans le validate-ssh.sh (si commande contient des caractères
permettant d'échapper tels que ;`&| elle est rejetée et doit
ensuite correspondre à l'un des cas autorisés) :
#!/bin/mksh
case "$SSH_ORIGINAL_COMMAND" {
(*\&*|*\(*|*\{*|*\;*|*\<*|*\`*|*\|*)
print "Rejected"
;;
("rsync --server"*)
ionice -c3 nice $SSH_ORIGINAL_COMMAND
;;
("/root/unscript.sh"|"/root/autrescript.sh")
"$SSH_ORIGINAL_COMMAND"
;;
(*)
print "Rejected"
;;
}