Bonjour, Depuis stretch, la commande exécutée en remote par `rsync -a` devient rsync --server -logDtpre.iLsfxC alors que c'était avant rsync --server -logDtpre.iLsfx
Que signifie ce qui suit le "e." et à quoi correspond ce C ajouté ? Ça ne correspond pas à l'option -C de rsync, car dans ce cas (-aC) on a rsync --server -logDtprCe.iLsfxC Pour voir ça, lancer rsync avec -e 'ssh -v' ou bien mettre dans le .ssh/authorized_keys command="/root/echoShell.sh" ssh-rsa ...la.clé.... et dans /root/echoShell.sh #!/bin/bash echo -e "On aurait lancé la commande\n$SSH_ORIGINAL_COMMAND">&2 exit 1 Pour mémoire -a, --archive archive mode; equals -rlptgoD (no -H,-A,-X) -C, --cvs-exclude auto-ignore files in the same way CVS does -e, --rsh=COMMAND specify the remote shell to use (tout le reste dans man rsync) C'est juste par curiosité, parce que le shell maison dédié à un client s'est mis à planter quand il est passé à stretch, c'est simple à régler mais je me posais cette question… Merci à ceux qui savent ;-) PS: pour autoriser du ssh sous root (ou n'importe quel autre user, mais pour les autres on s'en sort en général avec la gestion habituelle des droits, le pb se pose pour des choses permises à root seulement) mais ne permettre que certaines commandes, mettre un shell avec par ex case "$SSH_ORIGINAL_COMMAND" in ping) echo "pong";; trucPerso) # on fait un truc préétabli ;; autreCommande) # idem ;; # le reste *) # tests divers sur $SSH_ORIGINAL_COMMAND # si ok on lance # ionice -c3 $SSH_ORIGINAL_COMMAND && exit 0 # sinon, tout le reste est interdit echo "Commande « $SSH_ORIGINAL_COMMAND » non autorisée" >&2 exit 1 ;; esac -- Daniel Les folies sont les seules choses qu’on ne regrette jamais. Oscar Wilde