Situation
Sur un système CentOS, en tant qu'utilisateur root, which rsync
me donne la sortie suivante:
/usr/bin/rsync
Les autorisations de ce binaire sont les suivantes:
-rwxr-xr-x 1 root root 415000 31. Okt 09:36 rsync*
Si je comprends bien, ce fichier est exécutable pour son propriétaire, son groupe ainsi que pour quiconque. Cependant, étant connecté en tant qu'utilisateur régulier, which rsync
ne donne pas de sortie et ls -l /usr/bin/rsync
dit:
/bin/ls: (...) No such file or directory
Il est impossible d'exécuter rsync - la commande n'est pas trouvée, ni en appelant rsync
ni /usr/bin/rsync
:
-bash: /usr/bin/rsync: No such file or directory
Essayer which rsync
à travers un tunnel SSH:
$ ssh user@host which rsync
which: no rsync in (/usr/local/jdk/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin)
$ ssh root@host which rsync
/usr/bin/rsync
Question
Quelles sont les étapes nécessaires pour faire /usr/bin/rsync
exécutable pour un utilisateur non root donné?
Plus d'informations (qui peut ou peut ne pas être pertinent)
- Ce système est un serveur distant
- je veux appeler
rsync
à partir d'un script shell local, commersync [parameters] user@host:/some/dir .
- Le script shell sera exécuté automatiquement et l'authentification de "utilisateur" se fera par clé SSH
Mise à jour / solution
Il s'avère que je me suis trompé et que le système fonctionne sur CloudLinux, pas CentOS. Apparemment, CloudLinux permet de désactiver les outils pour les utilisateurs réguliers, ce qui était le cas pour rsync. Mes excuses pour la désinformation!
(Malheureusement, je ne peux pas étiqueter cette question avec "cloudlinux" en raison d'une réputation insuffisante.)
la source
Réponses:
Avez-vous essayé d'exécuter
/usr/bin/rsync
( ne pas simplementrsync
) en tant qu'utilisateur concerné? Cela devrait vous donner une bien meilleure idée de ce qui ne va pas: aucun fichier de ce type, autorisation refusée ou autre chose.ls -l /usr/bin/rsync
devrait produire certains sortie, si seulement direls: cannot access /usr/bin/rsync: No such file or directory
. Si cela n’imprime absolument rien, vous voudrez peut-être vérifier si quelqu'un a manipulé les commandes -type -a ls
ettype -a which
devrait vous dire ce que vous exécutez réellement.Êtes-vous absolument sûr que vous exécutez les commandes sur le même ordinateur? Essayez d’exécuter les commandes suivantes:
la source
ls
donne le message "Aucun fichier ou répertoire de ce type". Malheureusement, cela ne fait aucune différence si j'essaie d'exécuterrsync
ou/usr/bin/rsync
.