Aller au contenu

Messages recommandés

Bonsoir,

tout est dans le titre, je possède un syno 110J fraichement mis à jour en DSM 4.1, j'ai voulu procéder à quelques commandes d'administration en mode console et en root, et j'ai par mégarde supprimé le répertoire /opt

Résultat je n'arrive plus à me connecter en root via ssh : la session se ferme après authentification

Comment faire pour rétablir la situation ?

Merci de votre aide.

Cordialement

Florian

Modifié par florian15
Lien vers le commentaire
Partager sur d’autres sites

Merci pour tes réponses CoolRaoul,

je ne crois pas avoir supprimer plus que /opt...

Donc, je me connecte via putty,

Par contre lorsque je me connecte avec le compte admin pas de problème, si je souhaite passer en mode super user via la commande "su" j'ai le message suivant :

su: must be suid to work properly

Merci d'avance CoolRaoul pour ton aide, en espérant pouvoir trouver une solution.

Lien vers le commentaire
Partager sur d’autres sites

Voici ce que tu va faire

Sur ton PC tu ouvre une boite de commande (cmd).

La dedans tu va lancer "plink" qui fait partie du kit "putty" (c'est sa version ligne de commande)

Essaie tout d'abord comme ceci:

plink -t root@<nom ou ip de ton nas>[/CODE]

et copie ici ce que tu vois s'afficher

(si le dossier de putty n'est pas dans ton PATH windows faudra remplacer "plink" par son chemin complet, quelque chose comme "[i]%ProgramFiles%puttyplink[/i]" (*avec* les quotes) ou "[i]%ProgramFiles(x86)%puttyplink[/i]".

A toi de trouver le bon chemin

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Voila ce que la commande que tu m'a dicté renvoi après saisie du password :

/opt/bin/bash: No such file or directory

Tu as modifié le shell du compte root dans /etc/passwd.

Il ne faut *jamais* faire ce genre de choses sous DSM!!!

J'ai expliqué dans un post comment s'y prendre proprement, des que je le retrouve je te donne le lien.

Bon, heureusement la situation n'est pas désespérée.

Tu vas de nouveau exécuter plink mais comme ceci, avec la commande "/bin/sh" en parametre:

plink -t root@<nom ou ip de ton nas> /bin/sh[/CODE]

Ceci va te permettre de te connecter en root sur le NAS dans la fenetre de commande windows

Une fois connecté, édite "/etc/passwd" et remplace le shell du compte root par "/bin/ash"

Attention, sois très prudent dans cette derniere manip: la moindre erreur et tu pers définitivement l'accès au NAS.

Le plus sur est de garder la session putty connectée et, dans une autre fenêtre tester que tu peux de nouveau de connecter normalement.

Tu ne déconnectera le plink qu'a ce moment-la

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

J'ai retrouvé mon post mais il concernait un autre shell et c'était dans le forum anglais

Donc voici la manière "propre" d'utiliser un autre shell sur le compte root sans prendre de risques

Ici exemple du bash optware:

Ajouter au début de /root/.profile:

if [ -x "/opt/bin/bash" -a "$BASH_VERSION" = "" ] ; then

case $- in

    *i*)

        echo >&2 "exec'ing bash"

        exec /opt/bin/bash --login

        ;;

esac

fi

ET en cas de probleme, reste toujours ma manip via plink pour s'en sortir

Lien vers le commentaire
Partager sur d’autres sites

pas réussi à me connecter comme tu me l'as indiqué CoolRaoul, je passe par un proxy, du coup j'utilise l'option -load nas pour me connecter avec le profile putty qui inclue le proxy.

Du coup lorsque j'exécute plink -t -load nas /bin/ash

j'obtiens la même érreur que précédement.

Je tenterais cette commande de chez moi sans le proxy pour voir, ce soir

Lien vers le commentaire
Partager sur d’autres sites

pas réussi à me connecter comme tu me l'as indiqué CoolRaoul, je passe par un proxy, du coup j'utilise l'option -load nas pour me connecter avec le profile putty qui inclue le proxy.

Du coup lorsque j'exécute plink -t -load nas /bin/ash

j'obtiens la même érreur que précédement.

Je tenterais cette commande de chez moi sans le proxy pour voir, ce soir

Ta session putty doit avoir le host "en dur", dans le champ que j'ai entouré de rouge:

rsIIX.png

Suffit de créer une copie de ta session "nas" que tu nommera par exemple "proxynohost" et dans laquelle ce champ est vide.

Et alors, en utilisant la syntaxe:

plink -load proxynohost -y -t root@<addresse nas>[/CODE]

en remplaçant <addresse nas> par le contenu du champ "host name" de la session "nas"

ca devrait marcher

Lien vers le commentaire
Partager sur d’autres sites

L'option "y" ne semble pas exister :

plink: unknown option -y

Sans l'option y ma commande est la suivante : plink -load proxynohost -t root@IP -P 22888 /bin/sh

Et après prompt du mot de passe, le résultat reste le même /opt/bin/bash: No such file or directory

Modifié par florian15
Lien vers le commentaire
Partager sur d’autres sites

L'option "y" ne semble pas exister :

plink: unknown option -y

Erreur de ma part, en effet

Sans l'option y ma commande est la suivante : plink -load proxynohost -t root@IP -P 22888 /bin/sh

Et après prompt du mot de passe, le résultat reste le même /opt/bin/bash: No such file or directory

Aie, en effet, semble que si le shell dans /etc/passwd n'est pas valide sshd ne permet pas le login même en spécifiant une commande.

Te reste alors un autre option, (que j'aurais du te proposer plus tot d'ailleurs), installer le spk "config file editor":

il te permettra d'éditer /etc/passwd a travers l'interface web DSM

(connexion en admin obligatoire) et ainsi rétablir le bon shell pour root

Tiens-nous au courant du résultat.

Lien vers le commentaire
Partager sur d’autres sites

Oh Yeah !!! Merci CoolRaoul ça fonctionne avec cet outil, en prenant le soin de rajouter le fichier /etc/passwd à la liste des fichiers éditables.

Je peux à présent me connecter en root.

Reste à restaurer l'arborescence /opt

Quelqu'un à possbilité de mettre à ma disposition une archive contenant l'arborescence de /opt sur un 110J ?

Merci d'avance :-)

Lien vers le commentaire
Partager sur d’autres sites

Et, pour que cela ne se reproduise plus, n'oublie pas mon conseil, quelques posts plus haut sur la manip dans le .profile

Reste à restaurer l'arborescence /opt

Quelqu'un à possbilité de mettre à ma disposition une archive contenant l'arborescence de /opt sur un 110J ?

"/opt" c'est un lien vers (ou un montage) de "/volume1/@optware".

Tout ceux qui l'ont installé en ont une version spécifique, qui dépend des packages qu'ils ont choisit installer.

Il peut arriver que certains aient aussi des choses privés dans "/volume1/@optware/etc" par exemple (comme des password de montage webdav)

Pour faire propre il vaut largement mieux que tu reinstalles optware en partant du bootstrap.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

J'ai retrouvé mon post mais il concernait un autre shell et c'était dans le forum anglais

Donc voici la manière "propre" d'utiliser un autre shell sur le compte root sans prendre de risques

Ici exemple du bash optware:

Ajouter au début de /root/.profile:

if [ -x "/opt/bin/bash" -a "$BASH_VERSION" = "" ] ; then

case $- in

*i*)

echo >&2 "exec'ing bash"

exec /opt/bin/bash --login

;;

esac

fi

Et en cas de probleme, reste toujours ma manip via plink pour s'en sortir

J'avais aussi fait un post en français ici sur ce forum que je viens de retrouver.

Comme il est un peu plus argumenté, je pense utile de donner son lien:

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.