Вопрос или проблема
Я использую “Ubuntu Server 14.04.1 LTS” и у меня проблема с определением, помечен ли файл на общем ресурсе samba с файловой системой NTFS в Windows как “скрытый”. Пожалуйста, помогите мне найти либо пакет, который нужно установить для этого, либо правильную команду для чтения атрибутов (включая проверку, помечен ли он как скрытый в ntfs (windows)).
(Обратите внимание, это не связано с тем, начинается ли имя файла с точки.)
Вы можете использовать smbclient
для просмотра ресурса, и он показывает атрибуты DOS.
smbclient //server/share
ls
Вы можете использовать smbclient -c ‘allinfo hidden.txt’, как показано ниже:
root@ip-10-0-0-191:~# smbclient -A /tmp/creds //10.0.0.58/share -c ‘allinfo hidden.txt’
altname: hidden.txt
create_time: Fri Jun 8 03:04:22 PM 2018 EDT
access_time: Fri Jun 8 03:04:22 PM 2018 EDT
write_time: Fri Jun 8 03:04:22 PM 2018 EDT
change_time: Fri Jul 6 10:42:49 AM 2018 EDT
attributes: HA (22)
stream: [::$DATA], 0 bytes
Из приведенного выше вывода обратите внимание на строку “attributes:” ниже:
attributes: HA (22)
Атрибуты для файла hidden.txt на ресурсе //10.0.0.58/share — скрытый и архивный (H- Скрытый, A-Архивный)
Значение атрибута равно 22. Вы можете проверить константы атрибутов файлов по этой ссылке – https://docs.microsoft.com/en-us/windows/desktop/fileio/file-attribute-constants
Ответ или решение
Для проверки скрытого атрибута файла, находящегося на NTFS Samba-ресурсе в вашей системе на базе "Ubuntu Server 14.04.1 LTS", вы можете использовать инструмент smbclient
. NTFS предоставляет поддержку различных атрибутов, таких как скрытый (Hidden) и архивный (Archive), которые вы можете просмотреть на стороне клиента через Samba.
Теория
Как правило, файлы на NTFS разделах могут иметь определённые атрибуты, такие как скрытые (Hidden), системные (System), архивные (Archive) и т.д. Эти атрибуты отображают, как файлы обрабатываются операционной системой. В Windows, скрытые файлы обычно не отображаются пользователям в проводнике, если только не выбрана соответствующая опция.
Пример
Здесь на помощь приходит smbclient
— это удобный инструмент командной строки для взаимодействия с сетевыми ресурсами, предоставляемыми через Samba. Вы можете с его помощью получить информацию обо всех свойствах файла, включая его скрытый статус. Сначала, убедитесь, что smbclient
установлен в вашей системе. Если нет, установите его командой:
sudo apt-get install smbclient
Для проверки атрибутов файла, используйте следующую команду:
smbclient -A /tmp/creds //server/share -c 'allinfo filename.txt'
Здесь:
/tmp/creds
— это файл с вашими данными для доступа (логин и пароль).//server/share
— это адрес вашего Samba-ресурса.filename.txt
— это имя файла, атрибуты которого вы хотите проверить.
В выводимой информации вы увидите строку, подобную этой:
attributes: HA (22)
Где "H" обозначает скрытый атрибут (Hidden), а "A" — архивный атрибут (Archive).
Применение
Используя данную команду, вы сможете управлять доступом к различным файлам на Samba-ресурсах, анализировать их атрибуты и принимать соответствующие решения по управлению данными. Это особенно полезно для администраторов систем, работающих в смешанных средах Linux/Windows, где необходимо понимать и контролировать поведение файлов на Windows-системах из интерфейсов Linux.
Такой подход обеспечивает вам полный контроль над атрибутами файлов, что критично для безопасности и организации работы в вашей сетевой инфраструктуре.