Modif de l'option -a de rsync dans stretch ?
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
Reply to: