NewbieContest

Divers => Linux => Discussion démarrée par: clavats le 27 Janvier 2011 à 01:23:25



Titre: Faire exécuter un fichier par ssh
Posté par: clavats le 27 Janvier 2011 à 01:23:25
Bonjour à tous !
Je suis étudiant et j'aimerais embéter mes petits copain durant mes TP...  :rolleyes:
On peu ce connecter pars ssh avec ses propres login et mot de passe sur un ordinateur distant, j'ai essayer une petite fork bomb (fonctionne très bien !) j'ai eu ensuite l'idée de faire lancer un script, comme une boucle infinie qui activerais le lecteur CD...
Nous avons le dossier /tmp en commun il est donc possible de s'échanger des fichiers par ce dossier quand on ce connecte, j'ai donc fait mon script bash envoyer par ssh dans le /tmp de la cible et quand je souhaite l'exécuter l'ordinateur me refuse l'accès au lecteur... donc sa ne fonctionne pas :s

Une idée ?
Merci de votre aide :)

PS: nous n'avons pas l'accès root sur nos machine  :?


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: _o_ le 27 Janvier 2011 à 10:42:53
quand je souhaite l'exécuter l'ordinateur me refuse l'accès au lecteur...

Il est toujours intéressant de montrer les commandes que l'on passe et les messages d'erreur affichées. Parce que, typiquement, "refuser l'accès au lecteur" ne signifie rien du tout dans la philosophie Unix. Au passage, on envoie par scp et sftp, pas par ssh.
Tu sais ce qu'il te reste à faire si tu souhaites réellement une réponse. :)


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: clavats le 28 Janvier 2011 à 12:11:03
Donc ce que je cherche à exécuter :

Code:
#!/bin/bash

for i in $(seq 1 10);do eject; eject -t; done; echo

ce que me répond la console :
eject: impossible d'ouvrir le fichier `/dev/scd0'              (20fois... a hauteur de la boucle !)

Si je l'exécute sur moi même ce script fonctionne très bien :)


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: neroptik le 28 Janvier 2011 à 15:22:45
Regarde si tu vois /dev/scd0 directement en ssh.
Code:
#ls -l /dev/scd0

Il peut y avoir plusieurs raisons, c'est peut etre un probleme de droits ou bien le lecteur n'est pas sur /dev/scd0 sur la machine que tu cible.
Essaye de lister les peripheriques pour voir si scd0 existe bien. S'il existe regarde les droits d'acces au peripherique.

Edit: Et est-ce que ton script fonctionne sur ta machine ? Desole j'avais pas vu... :P
Edit: Utilise tu ton compte pour te connecter a l'autre machine ? decidement !
Si tu te log en local sur la machine cible. le script marche il ?

Cordialement,


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: clavats le 28 Janvier 2011 à 16:23:27
Toute les machines on les mêmes configurations matériel, mon script fonctionne sur n'importe qu'elles machines t'en que je suis logger dessus.

En effet je crois que c'est une question de permission...

il y a un moyen de passer outre ? je ne pense pas :s

PS: j'ai essayer de modifier les variables d'environnement une fois logger en ssh sur ma cible mais on ne partage pas non plus ces variables... (Afin d'altérer l'écran  :lol: (DISPLAY) )


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: clavats le 01 Février 2011 à 18:32:51
Voila ce que donne un "ls -l /dev/scd0

Code:
brw-rw----+ 1 root cdrom 11, 0 2011-02-01 07:00 /dev/scd0

Si je comprends bien pas accès de l'extérieur ?


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: _o_ le 01 Février 2011 à 18:40:57
Ne sachant pas quel est ton problème et le message d'erreur, on va se limiter à des hypothèses.

Si ton problème est l'accès à /dev/scd0, alors ça signifie probablement que l'utilisateur avec lequel tu te connectes en SSH n'appartient pas au groupe cdrom (et donc par extension, pas d'accès à /dev/scd0). Ça n'a à priori rien à voir avec le fait que tu connectes à distance ou pas (mais y'a peut-être des subtilités à ce sujet).

(Afin d'altérer l'écran  :lol: (DISPLAY) )

Ça fait très longtemps que les redirections sauvages d'affichage par DISPLAY sont interdites par défaut (man xhost).


Titre: Re : Re : Faire exécuter un fichier pars ssh
Posté par: clavats le 01 Février 2011 à 22:57:35
Donc ce que je cherche à exécuter :

Code:
#!/bin/bash

for i in $(seq 1 10);do eject; eject -t; done; echo

ce que me répond la console :
eject: impossible d'ouvrir le fichier `/dev/scd0'              (20fois... a hauteur de la boucle !)

Si je l'exécute sur moi même ce script fonctionne très bien :)

Ne sachant pas quel est ton problème et le message d'erreur, on va se limiter à des hypothèses.

Si ton problème est l'accès à /dev/scd0, alors ça signifie probablement que l'utilisateur avec lequel tu te connectes en SSH n'appartient pas au groupe cdrom (et donc par extension, pas d'accès à /dev/scd0). Ça n'a à priori rien à voir avec le fait que tu connectes à distance ou pas (mais y'a peut-être des subtilités à ce sujet).

(Afin d'altérer l'écran  :lol: (DISPLAY) )

Ça fait très longtemps que les redirections sauvages d'affichage par DISPLAY sont interdites par défaut (man xhost).

Donc si je lance le script sur moi même j'ai bien accès à ce lecteur et ceux sur n'importe quelle machine mon script marche, or dès que je parts en ssh sur une autre machine j'obtient le message d'erreur dit plus haut, afin d'éclairer tes hypothèse.

Merci de ton aide :)


Titre: Re : Re : Re : Faire exécuter un fichier pars ssh
Posté par: _o_ le 01 Février 2011 à 23:03:19
Donc si je lance le script sur moi même j'ai bien accès à ce lecteur et ceux sur n'importe quelle machine mon script marche, or dès que je parts en ssh sur une autre machine j'obtient le message d'erreur dit plus haut, afin d'éclairer tes hypothèse.

Tu es au courant que tu ne dis rien sur les machines utilisées, la distribution installée, etc ? On est donc condamné aux devinettes.
A essayer sur les deux serveurs en question, en passant en paramètre ton utilisateur :
id <user>
Ça fournit notamment les groupes auxquels il appartient.


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: clavats le 08 Février 2011 à 15:37:03
Entre deux id la différence est le groupe :
Code:
toto@lxo11:~$ id tata
uid=3743(tata) gid=1200(l2) groupes=46(plugdev),513(Domain Users),1200(l2)
toto@lxo11:~$ id toto
uid=3748(toto) gid=1200(l2) groupes=513(Domain Users),1200(l2)

Nous sommes sous Ubuntu 8.10

Merci de l'attention que tu apporte a mon problème :)


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: _o_ le 08 Février 2011 à 19:09:46
Je crois que la réponse est claire, c'est probablement le groupe plugdev qui fait la différence (mais ce n'est pas garanti).  Quant à savoir sa signification, je ne pourrais pas aider, je ne connais pas Ubuntu.


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: saelyx le 09 Février 2011 à 14:44:31
Code:
ssh [-p port] <login>@<ip_serveur> <commandes>

ssh admin@192.168.0.2 ls -l


Titre: Re : Faire exécuter un fichier pars ssh
Posté par: _o_ le 09 Février 2011 à 17:33:32
Avant de répondre, il vaut mieux lire complètement la question plutôt que se limiter au titre.  :rolleyes:

Sinon, pour revenir à la question d'origine : peux-tu m'indiquer quel est le résultat de la commande id <ton_nom_d'utilisateur>, sur la même machine, dans les deux cas suivants ?
- lorsque tu es connecté sur la console.
- lorsque tu es connecté par ssh.