2

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

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

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

2 ответа2

5

Благодаря подтверждению Тонни о Desktop я смог решить проблему, поэтому поделюсь, потому что это немного расстраивает, если это случится с вами ....

После успешной вставки паролей в DSM ошибка выглядит примерно так:Вы не авторизованы для использования этой услуги. «Вы не авторизованы для использования этой услуги».

Действия по устранению проблемы, если вы случайно заблокировали веб-доступ DSM:

  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 Вас интересует ваш идентификатор, в примере: 1021
  5. Сделайте резервную копию базы данных, на всякий случай: cp synoappprivilege.db synoappprivilege.db.org
  6. sudo sqlite3 synoappprivilege.db Будет запрошен ваш пароль. Введите пароль вашего_пользователя (тот же пароль, который вы использовали для 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 и, вероятно, не будут перечислены в предыдущей команде. Поэтому нам нужно вставить его (примечание: используйте свой идентификатор пользователя, полученный ранее с помощью grep, в моем случае - 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 в этой ссылке есть небольшая ошибка.

1

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

Посмотри в /etc /group через ssh. Там должна быть строка, похожая на:

administrators:x:101:john,admin,plex

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

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

Следующее, что нужно сделать, это вытащить файл /etc/synoappprivilege.db на компьютер (осторожно, это двоичный файл. Не копируйте в текстовом режиме.)
Это база данных SQLite, содержащая действительные привилегии.
Загрузите этот файл в HEX-редактор и найдите раздел «Рабочий стол».
Это должно выглядеть так:

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .