1

У меня Synology DS1513+ под управлением DSM5.0-4493 с обновлением 1 (ОС, выпущенная несколько лет назад).

У меня есть ноутбуки с Windows 7 и 10, которые монтируют этот диск, и ноутбук с Linux, монтирующий ту же область через NFS.

Моя учетная запись для разработки на коробке Linux и Synology - ID пользователя 1000.

Я хотел бы, чтобы мои окна Windows также представили этот идентификатор пользователя, чтобы у них было полное разрешение на редактирование всего, создание и удаление файлов и т.д. (Я занимаюсь разработкой программного обеспечения, которое предназначено для работы в обеих ОС, поэтому редактирую и строю на обеих ОС.)

На коробке Windows 7 давно я, видимо, также как-то установил его ID пользователя на 1000, но на коробке Windows 10 я - ID пользователя 4294967294. Как я могу изменить это на 1000?

Когда я "сопоставляю сетевой диск", я пытался проверить "монтирование с разными учетными данными", ожидая, что он попросит у меня альтернативный идентификатор пользователя, но, похоже, он никогда не запрашивает, какие разные учетные данные использовать. (Я также не могу понять, почему диск поверил мне, что я должен быть пользователем 1000.)

Я также пытался net use V: \\diskstation\volume1\MyDisk MyPassword /USER:SynologyUserName и мне сказали:

You can't connect to the file share because it's not secure. This
share requires the obsolete SMB1 protocol, which is unsafe and could
expose your system to attack. Your system requires SMB2 or higher. For
more info on resolving this issue, see:
https://go.microsoft.com/fwlink/?linkid=852747

Я также пытался зайти в Панель управления \ Учетные записи пользователей \ Диспетчер учетных данных \ Добавить учетные данные Windows и ввести общий ресурс \ disktation \ volume1 \ MyDisk, MyUser и MyPassword. После ОК:

This information cannot be 
saved.  Make sure all the information is correct and that all required fields are completed.

Error code: 0x80070057
Error Message: The parameter is incorrect.

Я также попытался поделиться, как просто дискстанция. После ОК он принимается и отображается на Панели управления \ Учетные записи пользователей \ Диспетчер учетных данных как «диск-станция» в разделе "Учетные данные Windows". Но затем я размонтирую и перемонтирую общий ресурс, попробуйте создать файл, и UID будет по-прежнему 4294967294, а не 1000 из имени созданного мною удостоверения.

Я также погуглил для «идентификатора пользователя карты synology». Не нашел ничего полезного.

Я ssh'd в и find из / для любых файлов конфигурации с samba в названии и не найти ничего. (Ну, два крошечных файла, но они не похожи на samba.conf или что-то еще для отображения пользователей.)

Я также систематически искал через панель управления Synology через интерфейс http и ничего.

1 ответ1

0

Ваша коробка Synology почти наверняка использует Samba как реализацию протоколов обмена файлами Windows.

В Samba есть концепция, называемая UID mapping, которая отображает SID в стиле Windows (длинные строки чисел, которые автоматически генерируются под капотом, когда вы создаете нового пользователя в Windows) в UID в стиле UNIX (которые обычно начинаются с небольших чисел как 1000 и увеличение до 6 цифр для определенных систем).

Это связано с тем, что SID Windows, которые являются числовыми идентификаторами для учетных записей Windows, принципиально отличаются от UID UNIX, которые являются числовыми идентификаторами учетных записей UNIX. Они имеют разные форматы, и изменить SID Windows непросто (хотя довольно просто изменить UID UNIX с правами суперпользователя).

Вот пример формата Windows SID: S-1-5-21-1180699209-877415012-3182924384-500

Причина, по которой мы должны "сопоставить" SID и UID, заключается в том, что даже если вы попытаетесь изменить SID Windows на что-то вроде 1000 , это не сработает, поскольку Windows ожидает, что SID для пользователей будут иметь определенную длину и синтаксис, включая начинающийся с буквы "S" и имеющий кучу длинных чисел с тире в них.

Если он достаточно старый, он, вероятно, работает под управлением Samba 3. Отображение UID в Samba3 обсуждается здесь.

UID-сопоставление в Samba4 концептуально такое же, но реализуется по вашему выбору «backend-сопоставления идентификаторов» - см. Здесь.

Вот как сделать отображение идентификаторов на контроллере домена Samba4: здесь.

Однако, за исключением статей вики (они предоставляют очень полезную концептуальную информацию, чтобы вы понимали, что происходит под капотом), наиболее полезную информацию, которую я мог найти конкретно об этой комбинации вещей:

  • Файловые ресурсы Windows
  • Synology
  • Сопоставление клиентов и пользователей в окне Synology

... находится в этом ответе на AskUbuntu, который имеет дело с именами пользователей, а не идентификаторами пользователей.

Если вы сочли эту информацию полезной, вам следует щелкнуть ссылку на AskUbuntu выше и отбросить Аарона за хороший ответ.

Основное понимание ответа Аарона состоит в том, что, если ваше имя пользователя и пароль Windows точно совпадают с именем пользователя и паролем пользователя сервера Synology, вы сможете войти, даже не выполняя никакой аутентификации вручную (вам не нужно вводить любое имя пользователя / пароль), а со стороны Synology UID, который вы будете иметь для прав доступа к файлу / каталогу, будет установлен на основе UID пользователя со стороны Synology, который имеет то же имя пользователя, что и ваша учетная запись Windows.


Другая причина, по которой это, вероятно, не работает в Windows 10: если вы входите в Windows 10 под своей учетной записью Microsoft, ваше имя пользователя на самом деле не то, что вы думаете! Ваше имя пользователя - это адрес электронной почты вашей учетной записи Microsoft; это только кажется, все , что "дружественные" имя пользователя вы дали в Win32 земли (например , у вас есть папка C:\Users\swissfrank вместо C:\Users\swiss.frank@gmail.com

Поэтому, когда вы обращаетесь к серверу Synology с именем пользователя swiss.frank@gmail.com (вместо пользователя swissfrank который был должным образом создан на стороне Synology под идентификатором пользователя UNIX 1000), он воспринимает вас как другого пользователя. Это разработано и определенно означает, что вам понадобится карта имени пользователя, как в ответе Аарона. Содержание будет что-то вроде:

swissfrank = swiss.frank@gmail.com

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