Não é possível efetuar login no DSM (Synology NAS)

1

Acho que me tranquei de um acesso à Web do Synology DSM. Quando eu estava logado, removi todos os privilégios "concedidos por padrão", e aparentemente um deles (Desktop?) Afetou minha conta de administração. Agora, quando chego à página de login, preenchei com sucesso o nome de usuário, a senha e a segunda verificação e recebi um erro "Você não está autorizado" (nota: meu IP não está bloqueado automaticamente). Eu tenho todas as senhas e posso acessar o dispositivo via ssh e os dados via SMB .

Tudo o que eu pesquisei é fazer um reinicialização suave , mas não tenho certeza se isso também corrigirá privilégios e preferiria não destruir minha configuração atual.

Usando ssh , existe uma maneira de corrigir os privilégios para adicionar meu usuário de administração customizado ao login no DSM? Eu tenho explorado alguns arquivos em /etc sem muito sucesso.

    
por user1156544 23.03.2017 / 13:31

2 respostas

3

Graças à confirmação de Tonny sobre o Desktop, eu pude consertar o problema, então vou compartilhar porque é um pouco frustrante se isso acontecer com você ...

Após inserir com sucesso as senhas no DSM, o erro é algo assim: "Você não está autorizado a usar este serviço".

Etapas para corrigir o problema se você se desconectar acidentalmente do acesso à web do DSM:

  1. Você precisa ter ssh access e usar um usuário administrador. Se você não o fizer, provavelmente precisará fazer uma reinicialização suave .
  2. (estou usando o Linux) Execute: ssh your_username@your_synology_ip
  3. cd /etc
  4. grep your_username /etc/passwd (por exemplo, grep administrator /etc/passwd ) A resposta será algo como %código% Você está interessado em seu id, no exemplo: administrator:x:1021:100::/var/services/homes/administrator:/bin/sh
  5. Faça um backup do banco de dados, apenas no caso: 1021
  6. cp synoappprivilege.db synoappprivilege.db.org Ele pedirá sua senha. Insira a senha de seu_usuário (mesma senha que você usou para sudo sqlite3 synoappprivilege.db ). Ele irá solicitar:

    SQLite version 3.10.2 2016-01-20 15:27:19
    Enter ".help" for usage hints.
    sqlite>
    
  7. Verificar tabelas (não estritamente necessárias):

    sqlite> .tables
    AppPrivRule
    
  8. Tabela de consulta (não estritamente necessária):

     sqlite> select * from AppPrivRule;
    

    Isso despejará o conteúdo da tabela, que será semelhante a estes:

     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. O privilégio que inadvertidamente removemos foi ssh e provavelmente não será listado no comando anterior. Então, precisamos inseri-lo ( note: use seu id de usuário como obtido antes com o grep, no meu caso, SYNO.Desktop ):

    sqlite> insert into AppPrivRule VALUES(0,1021,'SYNO.Desktop','0.0.0.0','0000:0000:0000:0000:0000:FFFF:0000:0000','','');
    
  10. Confirmação de que tudo está bem ...

    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||
    

FEITO! Agora você pode fazer o login.

Depois de corrigir o problema, encontrei a mesma solução aqui , mas era impossível obter dos motores de busca na primeira instância. Além disso, tenha cuidado com o 1021 nesse link com um pequeno erro.

    
por 23.03.2017 / 15:35
1

Pergunta interresting. Eu explorei meu próprio Syno e descobri isso:

Procure em / etc / group via ssh. Deve haver uma linha parecida com:

administrators:x:101:john,admin,plex

("plex" só existe se você instalou o pacote Plex.)

Adicione sua conta de administrador a essa linha. Tanto quanto eu sei, é a única coisa necessária para entrar na web-gestão do DSM. Para o acesso normal ao servidor da Web (home page personalizada), o usuário também deve ser adicionado à linha "http" no mesmo arquivo.

A próxima coisa é puxar o arquivo /etc/synoappprivilege.db para um computador (cuidado, isso é um binário. Não copie no modo de texto.)
Este é um banco de dados SQLite contendo os privilégios reais.
Carregue este arquivo em um editor HEX e procure a seção Desktop.
Isso deve se parecer com:

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

O YNO e o MW podem ter valores diferentes. A parte importante são os números. Estes devem ser os mesmos mostrados acima.
Altere isso usando o editor HEX e coloque o arquivo modificado de volta no Syno (mantenha uma cópia de backup do original !!!).

Não tenho certeza de que essa alteração seja detectada de forma automática, portanto, uma reinicialização pode ser necessária para ativar a nova configuração.

    
por 23.03.2017 / 14:07

Tags