У меня есть Raspberry Pi, который использует samba и ntfs-3g для совместного использования внешнего жесткого диска USB в моей домашней сети. На жестком диске есть файлы, помеченные атрибутом "Скрытый" Windows. Однако при доступе к общему ресурсу на ПК с Windows файлы не отображаются как скрытые. В результате я вижу много скрытых файлов, таких как desktop.ini , thumbs.db , а также такие каталоги, как $RECYCLE.BIN и System Volume Information , хотя в настройках Windows в настройках папок задано, что скрытые файлы не отображаются.

Я знаю, что samba неправильно передает атрибут Hidden, потому что, если я просматриваю Свойства файла, который должен быть скрыт, флажок Hidden не установлен:

не спрятанный

Это текущее содержимое моего файла smb.conf :

#### GLOBAL CONFIG #####

workgroup = WORKGROUP
netbios name = raspberrypi
server string = %h
wins support = yes
dns proxy = no
security = share
null passwords = yes
guest account = nobody
interfaces = eth0 lo
bind interfaces only = yes

#### PUBLIC SHARE #####

[Mazda6]
comment = Media Drive
path = /media/HDD
browseable = yes
guest ok = yes
writeable = yes
public = yes
available = yes
create mask = 0666
directory mask = 0777

Как я могу иметь файлы, помеченные атрибутом Скрытый файл на диске NTFS, которые будут отображаться как Скрытые при просмотре через общий ресурс samba на ПК с Windows?

1 ответ1

0

Я верю - но я не проверял себя - что вам нужно только добавить map hidden = yes в конфигурацию для вашего ресурса. Обратите внимание, что это может привести к непреднамеренному / нежелательному поведению создания "других исполняемых" файлов (в соответствии с разрешениями для файлов Linux) как "скрытых" в Windows; это потому, что Samba фактически использует этот бит как "скрытый" атрибут для Windows, так как он находится поверх Linux, у которого нет таких атрибутов.

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

hide files = /$RECYCLE.BIN/System Volume Information/desktop.ini/thumbs.db/

Недостатком здесь, конечно, является то, что вы должны жестко закодировать файлы, которые вы хотите скрыть явно в вашей конфигурации, и, к сожалению, нет никакого способа отличить, например, desktop.ini который должен быть скрыт, и desktop.ini который не должен быть скрытым - оба будут скрыты с этим параметром. (ПРИМЕЧАНИЕ: я не уверен, что это будет работать с каталогами; я верю, что это должно, но не могу проверить это в настоящее время. Также может быть проблема с символом $ ; Опять же, я думаю, что это сработает, но я не могу проверить это прямо сейчас.)

Как всегда, документация вашего друга.

Обновление: согласно тестированию OP, как сообщается в комментариях ниже, кажется, что все файлы в разделе NTFS могут отображаться в Linux с разрешениями 0777; поскольку это означает, что бит "другое выполнение" установлен, Samba завершает интерпретацию каждого отдельного файла как "скрытого" с включенной настройкой map hidden , что делает это решение несостоятельным без предварительного перемещения всех данных в другую файловую систему.

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