Не удается войти в DSM (Synology NAS)

Я думаю, что я заблокировал себя от веб-доступа DSM Synology. Когда я вошел в систему, я удалил все" предоставленные по умолчанию " привилегии, и apparenlty один из них (рабочий стол?) повлияло на мою учетную запись администратора. Теперь, когда я добираюсь до страницы входа в систему, я успешно заполняю имя пользователя, пароль и 2-ю проверку, а затем я получил ошибку "вы не авторизованы" (Примечание: мой IP не заблокирован автоматически). У меня есть все пароли и доступ к устройству через ssh и данные через SMB.

все, что я мог исследовать это сделать мягкий сброс, но я не уверен, будет ли это исправить привилегии тоже, и я предпочел бы не уничтожить мою текущую конфигурацию.

С помощью ssh, есть ли способ исправить привилегии, чтобы добавить пользователя пользовательского администрирования для входа в DSM? Я изучал некоторые файлы на /etc без особого успеха.

25
задан user1156544
17.02.2023 15:13 Количество просмотров материала 2450
Распечатать страницу

2 ответа

благодаря подтверждению Tonny о рабочем столе я смог решить эту проблему, так что я поделюсь, потому что это немного расстраивает, если это произойдет с вами....

после успешной вставки паролей в DSM, ошибка выглядит примерно так: You are not authorized to use this service. " вы не имеете права использовать эту услугу."

шаги, чтобы решить эту проблему, если вы случайно заблокировали себя из DSM Web доступ:

  1. вам нужно ssh доступ и использование администратора. Если вы этого не сделаете, вам, вероятно, нужно не нашел.
  2. (я использую Linux) выполняем: ssh your_username@your_synology_ip
  3. cd /etc
  4. grep your_username /etc/passwd (например,grep administrator /etc/passwd) Ответ будет примерно таким administrator:x:1021:100::/var/services/homes/administrator:/bin/sh Вас интересует ваш id, в Примере:1021
  5. создать резервную копию базы данных, на всякий случай: cp synoappprivilege.db synoappprivilege.db.org
  6. sudo sqlite3 synoappprivilege.db Он запросит ваш пароль. Введите пароль your_username (тот же пароль, который вы использовали для ssh). Он подскажет:

    SQLite version 3.10.2 2016-01-20 15:27:19
    Enter ".help" for usage hints.
    sqlite>
    
  7. проверить таблицы (не обязательно):

    sqlite> .tables
    AppPrivRule
    
  8. таблицы запросов (не обязательно):

     sqlite> select * from AppPrivRule;
    

    будет выведено содержимое таблицы, которое будет похоже на эти:

     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. привилегию мы случайно была удалена SYNO.Desktop и, вероятно, не будет указан в предыдущей команде. Поэтому нам нужно вставить его (Примечание: имя пользователя, как полученных с грэп, в моем случае, 1021):

    sqlite> insert into AppPrivRule VALUES(0,1021,'SYNO.Desktop','0.0.0.0','0000:0000:0000:0000:0000:FFFF:0000:0000','','');
    
  10. подтверждение, что все в порядке...

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

готово! Теперь вы можете войти в систему.

после того, как я исправил проблему я нашел такое же решение здесь, но из поисковиков на первом экземпляре достать было невозможно. Кроме того, остерегайтесь insert в этой ссылке есть небольшая ошибка.

3
отвечен user1156544 2023-02-18 23:01

интересный вопрос. Я немного покопался на своем собственном Syno и придумал это:

поиск в /etc / group по ssh. Строка должна выглядеть следующим образом:

administrators:x:101:john,admin,plex

("plex" существует только в том случае, если вы установили пакет Plex.)

Добавьте свою учетную запись администратора в эту строку. Насколько я знаю, это единственное, что нужно, чтобы попасть в DSM web-Management. Для обычного доступа к web-серверу (персонализированной домашней странице) пользователь также должен быть добавлен в " http" строка в том же файле.

следующая вещь, чтобы вытащить файл/etc / synoappprivilege.db к компьютеру (осторожно, это двоичный файл. Не копировать в текстовом режиме.)

Это база данных SQLite, содержащая фактические привилегии.

Загрузите этот файл в шестнадцатеричном редакторе и найдите раздел рабочий стол.

Это должно выглядеть так:

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

YNO и MW могут иметь разные значения. Важной частью являются цифры. Они должны быть такие же как выставка выше.

Измените это с помощью шестнадцатеричного редактора и поместите измененный файл обратно на Syno (сохраните резервную копию оригинала!!!).

Я не уверен, что это изменение подхватывается автоматически, поэтому для активации новой настройки может потребоваться перезагрузка.

1
отвечен Tonny 2023-02-19 01:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх