[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: