Table des matières 1 LES COMMANDES DISTANTES (R-COMMANDES)... 2 1.1 Introduction... 2 1.2 Installation... 2 1.2.1 Installation du client... 2 1.2.2 Installation du service rsh... 2 1.2.3 Activer les services... 2 1.2.4 Autoriser root... 3 1.3 Mécanisme d équivalence... 4 1.4 rcp... 5 1.5 rlogin... 6 1.6 rsh... 7 1.7 rexec... 8 1.8 Résumé... 8 2011 Hakim Benameurlaine 1
1 LES COMMANDES DISTANTES (R-COMMANDES) 1.1 Introduction Les r-commandes (r comme remote qui veut dire distant) sont des commandes réseau qui sont disponibles uniquement entre des machines UNIX (rexec et rsh existent sur Microsoft Windows). 1.2 Installation 1.2.1 Installation du client Installez le paquetage rsh # yum install rsh 1.2.2 Installation du service rsh Installez le paquetage rsh-server : # yum install rsh-server Le paquetage rsh-server installe les services rsh, rexec et rlogin. 1.2.3 Activer les services Utiliser chkconfig pour activer rexec, rsh et rlogin : Redémarrer le service xinetd : 2011 Hakim Benameurlaine 2
Tous les utilisateurs (sauf root) peuvent utiliser rexec, rsh et rlogin. 1.2.4 Autoriser root Si vous devez utiliser les commandes rexec, rsh et rlogin en tant que root, vous devez apporter quelques modifications au fichier /etc/securetty. Ces trois outils possèdent tous des fichiers de configuration PAM ayant besoin du module PAM (Pluggable authentication modules) pam_securetty.so. Par conséquent, vous devez modifier /etc/securetty pour autoriser l'accès root. Avant de pouvoir vous connecter en tant que root au moyen de ces outils, vous devez les définir correctement. Pour faire en sorte que l utilisateur root puisse également les utiliser, ajoutez le nom des outils que vous voulez autoriser dans /etc/securetty. Si vous désirez permettre la connexion root au moyen de rexec, rsh et rlogin, ajoutez les lignes suivantes à /etc/securetty : pts/0 pts/1 FAIRE UN TEST 2011 Hakim Benameurlaine 3
1.3 Mécanisme d équivalence Le mécanisme d'équivalence permet d'autoriser l'accès sans authentification depuis un système distant. Le mécanisme d équivalence utilise le fichier d'autorisation /etc/hosts.equiv. Ce fichier lorsqu il existe, permet de définir les machines et les utilisateurs autorisés à exécuter une r-commande sans s authentifier sur la machine distante. Le format de ce fichier est très simple. Il est constitué de lignes de la forme : [+ -]nom-de-machine [[+ -]utilisateur] Ce mécanisme ne s applique pas à l usager root. 2011 Hakim Benameurlaine 4
1.4 rcp La commande rcp permet de faire des copies sur le réseau. Cette commande utilise le mécanisme d équivalence (obligatoire) Le service rsh doit être activé La syntaxe de la commande est la suivante : rcp [ -pr ] source destination rcp signifie remote copy. Suivant le sens dans lequel doit être effectuée la copie, un des noms de fichier doit être de la forme host:nom-du-fichier, host étant le nom de la machine sur laquelle se trouve le fichier. Le nom du fichier doit être spécifié depuis la racine. Option : -p les fichiers copiés auront exactement les mêmes caractéristiques que le fichier source (droits d'accès, date de modifications, etc.). -r inclut les sous-répertoires lors de la copie. Cela suppose donc que le fichier destination soit un répertoire également. EXEMPLE Copie le fichier /root/f1 qui se trouve sur la machine locale (192.168.1.130) vers le répertoire /root de la machine 192.168.1.128 2011 Hakim Benameurlaine 5
1.5 rlogin Cette commande utilise le mécanisme d équivalence Le service rlogin doit être activé La syntaxe de la commande est la suivante : rlogin host Cette commande permet de se connecter sur une machine Unix distante. Tout ce passe exactement comme si l'on se trouvait devant la machine distante, host étant le nom en clair de la machine ou son adresse IP. La différence entre telnet et rlogin, c'est que telnet ne vérifie pas les droits dans le fichier.rhosts et qu'il utilise par défaut une émulation terminal (en général VT100 ou VT220), alors que rlogin essaye de récupérer la variable TERM du Shell à partir duquel il est lancé. L'option la plus courante est la suivante : rlogin [ -l username] hostname rlogin pluton rlogin -l u22 pluton rlogin u22@pluton Permet de se connecter sur la machine hostname en changeant éventuellement de login à l'aide de l'option -l. EXEMPLE 2011 Hakim Benameurlaine 6
1.6 rsh Cette commande utilise le mécanisme d équivalence. rsh [-l username] host [commande] a) Exécuter une commande distante rsh permet d'exécuter une commande donnée sur une machine distante. Le résultat de la commande sera affiché sur la machine locale. Par exemple : Exécute la commande date sur la machine 192.168.11.129 et renvoie le résultat sur l'écran de la machine à partir de laquelle la commande rsh a été lancée. Le service rsh doit être activé. # chkconfig rsh on b) Ouvrir un Shell distant Le service rlogin doit être activé. # chkconfig rlogin on 2011 Hakim Benameurlaine 7
1.7 rexec Permet d exécuter une commande donnée sur une machine distante. Les commandes rsh, rlogin et rcp utilisent le mécanisme d'équivalence basé sur le fichier /etc/hosts.equiv qui permet d'autoriser l'accès sans authentification depuis un système distant. La commande rexec n'est pas considérée comme une r-commande car elle n'utilise pas le mécanisme d équivalence /etc/hosts.equiv. Le service rexec doit être activé. EXEMPLE L usager doit entrer son mot de passe : L usager root peut utiliser la commande rexec mais il doit s authentifier : 1.8 Résumé Commande.rhosts Équivalence service /etc/hosts.equiv obligatoire rcp Oui OUI rsh rlogin Oui NON rlogin rsh machine commande Oui OUI rsh rsh machine Oui NON rlogin rexec Non N/A rexec 2011 Hakim Benameurlaine 8