Impossible de se connecter à DSM (Synology NAS)

3

Je pense m'être exclu d'un accès Web Synology DSM. Une fois connecté, j’ai supprimé tous les privilèges "accordés par défaut", et l’un d’eux (apparemment? Bureau) affectait mon compte d’administration. Maintenant, lorsque je parviens à la page de connexion, je remplis avec succès le nom d'utilisateur, le mot de passe et la 2e vérification, puis un message d'erreur "Vous n'êtes pas autorisé" (remarque: mon adresse IP n'est pas bloquée automatiquement). J'ai tous les mots de passe et je peux accéder à l'appareil via sshet aux données via SMB.

Tout ce que je pourrais rechercher, c’est de faire une réinitialisation logicielle , mais je ne suis pas sûr que cela corrigera également les privilèges et je préférerais ne pas détruire ma configuration actuelle.

En utilisant ssh, y a-t-il un moyen de corriger les privilèges pour ajouter mon administrateur personnalisé à la connexion à DSM? J'ai exploré certains dossiers /etcsans grand succès.

utilisateur1156544
la source

Réponses:

7

Grâce à la confirmation de Tonny à propos de Desktop, j'ai pu résoudre le problème. Je vais donc le partager car c'est un peu frustrant si cela vous arrive ...

Après avoir inséré avec succès les mots de passe dans DSM, l'erreur ressemble à ceci: "Vous n'êtes pas autorisé à utiliser ce service."Vous n'êtes pas autorisé à utiliser ce service.

Étapes à suivre pour résoudre le problème si vous vous êtes accidentellement exclu de l'accès Web DSM:

  1. Vous devez avoir un sshaccès et utiliser un utilisateur administrateur. Si vous ne le faites pas, vous devrez probablement effectuer une réinitialisation logicielle .
  2. (J'utilise Linux) Exécutez: ssh your_username@your_synology_ip
  3. cd /etc
  4. grep your_username /etc/passwd(par exemple grep administrator /etc/passwd) La réponse sera quelque chose comme: administrator:x:1021:100::/var/services/homes/administrator:/bin/sh Vous êtes intéressé par votre identifiant, dans l'exemple suivant:1021
  5. Faites une sauvegarde de la base de données, juste au cas où: cp synoappprivilege.db synoappprivilege.db.org
  6. sudo sqlite3 synoappprivilege.db Il vous demandera votre mot de passe. Insérez le mot de passe de votre_nom d'utilisateur (le même mot de passe que vous avez utilisé ssh). Il vous demandera:

    SQLite version 3.10.2 2016-01-20 15:27:19
    Enter ".help" for usage hints.
    sqlite>
    
  7. Tables de contrôle (pas strictement nécessaire):

    sqlite> .tables
    AppPrivRule
    
  8. Table de requête (pas strictement nécessaire):

     sqlite> select * from AppPrivRule;
    

    Cela videra le contenu de la table, ce qui ressemblera à ceci:

     2|0|SYNO.SDS.WebDAVServer.Instance|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
     2|0|SYNO.SDS.MailServer.Instance|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
     2|0|SYNO.SDS.BackupService.Instance|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
     2|0|SYNO.SDS.MailPlusServer.Instance|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
    ...
    
  9. Le privilège que nous avons supprimé par inadvertance était SYNO.Desktopet ne sera probablement pas répertorié dans la commande précédente. Nous devons donc l’insérer ( note: utilisez votre identifiant d’utilisateur tel qu’il a été obtenu auparavant avec grep, dans mon cas 1021):

    sqlite> insert into AppPrivRule VALUES(0,1021,'SYNO.Desktop','0.0.0.0','0000:0000:0000:0000:0000:FFFF:0000:0000','','');
    
  10. Confirmation que tout va bien ...

    sqlite> select * from AppPrivRule;
    
    2|0|SYNO.SDS.WebDAVServer.Instance|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
    ...
    0|1021|SYNO.Desktop|0.0.0.0|0000:0000:0000:0000:0000:FFFF:0000:0000||
    

TERMINÉ! Vous pouvez maintenant vous connecter.

Après avoir résolu le problème, j'ai trouvé la même solution ici , mais il était impossible d'obtenir des moteurs de recherche en premier lieu. Aussi, méfiez-vous du insertdans ce lien a une petite erreur.

utilisateur1156544
la source
1
Je suis content d'avoir pu vous guider dans la bonne direction. Et une réponse très bien écrite. Bien joué! Quelques points de ma part :-)
Tonny
1
Réponse parfaite, corrigée instantanément.
joopmicroop
1

Question interressante. J'ai fait quelques recherches sur mon propre Syno et je suis arrivé à ceci:

Regardez dans / etc / group via ssh. Il devrait y avoir une ligne ressemblant à:

administrators:x:101:john,admin,plex

("plex" n'est là que si vous avez installé le paquet Plex.)

Ajoutez votre compte administrateur à cette ligne. Autant que je sache, c'est la seule chose nécessaire pour entrer dans la gestion Web de DSM. Pour l'accès normal au serveur Web (page d'accueil personnalisée), l'utilisateur doit également être ajouté à la ligne "http" du même fichier.

La prochaine chose à faire est d’extraire le fichier /etc/synoappprivilege.db vers un ordinateur (attention, c’est un binaire. Ne pas copier en mode texte.)
Il s’agit d’une base de données SQLite contenant les privilèges réels.
Chargez ce fichier dans un éditeur HEX et recherchez la section Bureau.
Cela devrait ressembler à:

YNO.Desktop0.0.0.00000:0000:0000:0000:0000:FFFF:0000:000MW

Le YNO et MW peuvent avoir des valeurs différentes. La partie importante sont les chiffres. Ceux-ci devraient être les mêmes que ceux présentés ci-dessus.
Modifiez cela en utilisant l'éditeur HEX et remettez le fichier modifié sur le Syno (conservez une copie de sauvegarde de l'original !!!).

Je ne suis pas sûr que cette modification soit détectée automatiquement, il est donc nécessaire de procéder à un redémarrage pour activer le nouveau paramètre.

Tonny
la source
Merci! Mon utilisateur était déjà dans la ligne des administrateurs. Je l'ai ajouté aussi à la fin de la ligne http. J'ai essayé de me connecter juste en acse mais je n'ai pas fonctionné. Cependant, maintenant j'essaie de modifier le fichier .db mais il n'y a pas de ligne avec Desktop ... c'est peut-être pourquoi je ne peux pas accéder? Peut-être y a-t-il un moyen de le modifier via sqlite3
user1156544
Je l'ai eu - poster une réponse ...
user1156544
Merci Tonny, même si je t'avais déjà regardé, synoappprivilege.dbtu m'as donné toutes les indications pour savoir qui SYNO.Desktopdevrait être là pour trouver une solution! Tu as sauvé ma journée!
user1156544