Windows атрибуты файлов linux

Разрешения файлов для WSL

На этой странице представлены сведения об интерпретации разрешений файлов Linux в подсистеме Windows для Linux, особенно при получении доступа к ресурсам в файловой системе NT под управлением Windows. В этой документации предполагается, что вы имеете базовое представление о структуре разрешений файловой системы Linux и командах umask.

При доступе к файлам Windows из WSL разрешения файлов вычисляются на основе разрешений Windows, либо считываются из метаданных, которые были добавлены в файл с помощью WSL. По умолчанию эти метаданные не включены.

Метаданные WSL в файлах Windows

Если метаданные включены в качестве параметра подключения в WSL, вы можете добавить и интерпретировать расширенные атрибуты в файлах Windows NT, чтобы предоставить разрешения файловой системы Linux.

WSL может добавлять четыре расширенных атрибута NTFS:

Имя атрибута Описание
$LXUID Идентификатор пользователя владельца
$LXGID Идентификатор владельца группы
$LXMOD Файловый режим (восьмеричная система и типы разрешений файловой системы, например: 0777)
$LXDEV Устройство (если это файл устройства)

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

Сценарии доступа к файлам

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

Получение доступа к файлам в файловой системе диска Windows (DrvFS) из Linux

Эти сценарии возникают при получении доступа к файлам Windows из WSL, скорее всего с помощью /mnt/c .

Чтение разрешений файлов из существующего файла Windows

Результат будет зависеть от того, содержит ли файл уже существующие метаданные.

Файл DrvFS не имеет метаданных (по умолчанию)

Если файл не имеет связанных метаданных, мы преобразовываем действующие разрешения пользователя Windows в биты чтения, записи или выполнения и назначаем их этому файлу в качестве того же значения для пользователя, группы и других элементов. Например, если учетная запись пользователя Windows имеет доступ на чтение и выполнение, но не имеет доступа на запись в файл, для пользователя, группы и других элементов она будет отображаться как r-x . Если для файла в Windows задан атрибут «только для чтения», доступ на запись в Linux не предоставляется.

Читайте также:  Ubuntu linux login as root
Файл содержит метаданные

Если файл содержит метаданные, мы будем использовать их значения вместо преобразованных действующих разрешений пользователя Windows.

Изменение разрешений файла в существующем файле Windows с помощью команды chmod

Результат будет зависеть от того, содержит ли файл уже существующие метаданные.

Файл chmod не имеет метаданных (по умолчанию)

Файл chmod может иметь только один эффект. Если вы удалите все атрибуты записи файла, в файле Windows будет задан атрибут «только для чтения», так как это то же поведение, что и в общей файловой системе Интернета (CIFS), которая является клиентом SMB в Linux.

Файл chmod содержит метаданные

В зависимости от уже существующих метаданных файла, файл chmod будет изменен или будут добавлены метаданные.

Помните, что вы не можете предоставить себе больше прав доступа, чем вы имели в Windows, даже если в метаданных указано, что это возможно. Например, можно задать, чтобы в метаданных отображалось, что у вас есть разрешения на запись в файл с помощью chmod 777 , но если вы попытаетесь получить доступ к этому файлу, запись будет невозможна. Это происходит благодаря взаимодействию, так как любые команды чтения или записи направляются в файлы Windows через разрешения пользователя Windows.

Создание файла в DriveFS

Результат зависит от того, включены метаданные или нет.

Метаданные не включены (по умолчанию)

Разрешения Windows для созданного файла будут такими же, как если бы вы создали файл в Windows без конкретного дескриптора безопасности. Он наследует родительские разрешения.

Метаданные включены

Биты разрешений файла задаются в соответствии с командой umask в Linux, и файл будет сохранен с метаданными.

Какому пользователю или группе Linux принадлежит файл?

Результат будет зависеть от того, содержит ли файл уже существующие метаданные.

Файл пользователя не имеет метаданных (по умолчанию)

В сценарии по умолчанию при автоподключении дисков Windows мы указываем, что идентификатору пользователя (UID) любого файла присваивается идентификатор пользователя WSL, а идентификатору группы (GID) — идентификатор главной группы пользователя WSL.

Читайте также:  How to check port opened in linux
Файл пользователя содержит метаданные

Идентификаторы пользователя и группы, указанные в метаданных, применяются в качестве пользователя владельца и владельца группы файла.

Получение доступа к файлам Linux из Windows с помощью \\wsl$

Для получения доступа к файлам Linux с помощью \\wsl$ будет использоваться пользователь по умолчанию дистрибутива WSL. Таким образом, все приложения Windows, обращающиеся к файлам Linux, будут иметь те же разрешения, что и пользователь по умолчанию.

Создание поля

Параметр umask по умолчанию применяется при создании файла в дистрибутиве WSL из Windows. По умолчанию параметр umask имеет значение 022 . Или другими словами он позволяет использовать все разрешения, кроме разрешения на запись, в группах и других элементах.

Доступ к файлам в корневой файловой системе Linux из Linux

Во всех файлах, созданных, измененных или доступ к которым осуществлялся с помощью корневой файловой системы Linux, используются стандартные соглашения Linux. Например, к только что созданному файлу применяется команда umask.

Настройка разрешений файлов

Вы можете настроить разрешения файлов в дисках Windows с помощью параметров подключения в wsl.conf. Параметры подключения позволяют задать маски разрешений umask , dmask и fmask . umask применяется ко всем файлам, dmask — только к каталогам, а fmask — только к файлам. Затем эти маски разрешений подвергаются логической операции ИЛИ во время применения к файлам, например: Если у вас есть значение umask для 023 и значение fmask для 022 , то полученная маска разрешений для файлов будет 023 .

Источник

Linux.yaroslavl.ru

В файловой системе FAT существуют атрибуты файла (arhive, system, hidden). Точно также, файловая система ext2fs тоже имеет атрибуты, правда эти атрибуты отличаются от атрибутов, принятых в FAT. Атрибуты в ext2fs используются очень редко, поэтому мы упоминаем о них только из соображений законченности повествования. Однако, если вас действительно интересует безопасность вашей системы, рекомендуем ознакомиться с этим разделом.

Существует две команды для управления атрибутами файла: lsattr(1) и chattr(1). Как вы наверное догадались, команда lsattr служит для просмотра атрибутов, ну а команда chattr служит для изменения атрибутов. Атрибуты могут быть установлены только для каталогов и обыкновенных файлов. Доступны следующие атрибуты:

  1. A (no Access time): если для файла или каталога установлен такой атрибут, то, при обращении к этому файлу (для чтения или записи), у файла не будет модифицироваться время последнего обращения. Это может быть полезно, например, при работе с файлами и каталогами, к которым очень часто обращаются, открывая их для чтения. Это может несколько разгрузить систему, так как время последнего доступа — это единственный параметр в inode, который изменяется при открытии файла в режиме read-only (только для чтения).
  2. a ( append only): если для файла или каталога установлен такой атрибут, а также этот файл (каталог) допускает запись, то единственная доступная операция записи — это добавление в конец файла (append). В случае каталога это означает, что вы можете только добавлять файлы, но не можете переименовывать или удалять любой существующий файл внутри этого каталога. Только root может устанавливать или очищать этот атрибут.
  3. d (no dump): dump (8) это стандартная для UNIX утилита резервного копирования. Она создает резервную копию любой файловой системы, у которой в файле /etc/fstab значение dump counter установлено в 1 (подробнее смотрите Глава 8. Файловая Система и Точки Монтирования). Если файл или каталог имеет этот атрибут, то он будет игнорирован при создании резервной копии файловой системы. Обратите внимание, что в случае установки атрибута для каталога, под действие атрибута рекурсивно попадают все нижележащие файлы и каталоги.
  4. i ( immutable): файл или каталог с таким атрибутом не может изменяться вообще: то есть, он не может быть переименован, на него не может быть создана ссылка. [20] Также такой файл не может быть удален. Только root может устанавливать или очищать этот атрибут. Обратите внимание, что этот атрибут также предотвращает изменения времени доступа, поэтому вы не должны совместно использовать атрибуты A и i.
  5. s ( secure deletion): при удалении файла, помеченного таким атрибутом, место на диске, которое занимал файл, будет заполнено нулями.
  6. S ( Synchronous mode): если установлен такой атрибут, то все изменения в файл будут записаны немедленно. Попросту говоря, этот атрибут снимает буферизацию записи для этого файла
Читайте также:  Linux mint доменная авторизация

Возможно имеет смысл установить атрибут 'i' на некоторые жизненно важные системные файлы, чтобы избежать “неожиданностей”. Также, можно проставить атрибут 'A', например, на файлах помощи (man pages): Это предотвратит лишние дисковые операции и даже слегка сэкономит батареи на портативных компьютерах.

[20] Убедитесь, что вы поняли что обозначает “добавить ссылку” на файл или каталог 🙂

Источник

Оцените статью
Adblock
detector