LINUX.ORG.RU

NTFS параметры монтирования, права доступа и совместимость

 , , , ,


0

1

Настраиваю права доступа на NTFS для dualboot. В связи с чем возникло несколько вопросов:

  • Как настроить полную (или хотя бы хорошую) совместимость прав доступа на NTFS между Linux и Windows?
    • Если нельзя настроить полную совместимость, то какие ограничения совместимости останутся?
    • Важно запрещать (из Linux) изменять и удалять файлы и каталоги, а также каталоги в которые они вложены, обычному пользователю (и Linux, и Windows).
    • Опционально при этом сохранить возможность добавлять файлы и каталоги.

Пытаюсь решить эту задачу, разбираясь с параметрами монтирования NTFS-3G. Насколько я понимаю, для настройки совместимости прав доступа меня интересуют permissions, usermapping, inherit, acl. Все опции описаны странице разработчика на GitHub.

Надеюсь, что понимаю правильно их основной смысл:

  • permissions - стандартные права доступа owner, group, others
  • usermapping - ассоциирует пользователей и группы Linux и Windows
  • inherit - права наследуются от каталога в котором создаётся файл (владельцем является создатель файла/каталога)
  • acl - права доступа для разных пользователей и групп

В man’е написано, что если usermapping файл есть то: permissions задан по умолчанию, acl задан по умолчанию если при этом не задан permissions.

  • permissions is set by default when a user mapping file is present.
  • acl is set by default when a user mapping file is present and the permissions mount option is not set.
    Надеюсь, что в man’е ошибка и permissions задаётся по умолчанию, если нет файла UserMapping. Как я понимаю, permissions и usermapping взаимозаменяемые опции, ассоциирующие пользователей и группы по умолчанию, либо по определению пользователя соответственно.

Создал UserMapping файл в .NTFS-3G/UserMapping, не прописывая usermapping= в fstab.

# Generated by ntfsusermap for Linux, v 1.2.0
:users:S-1-5-21-MyDomain-513
user::S-1-5-21-MyDomain-1002

У меня пользователи и группы:

  • На Linux’е: root в root и user в users
  • На Windows’е: root в Administrators, user в Users (общих групп нет); + аккаунт по умолчанию Administrator (S-1-5-domain-500).
    Создал root, чтобы вводить пароль для действий от имени администратора.

Стараюсь разобраться в таблице, которая поясняет комбинирование опций, и понять как с этими опциями нужно правильно распределять права. Не понимаю в таблице, что значат: POSIX ACLs selected at compile-time, Default ACL defined on parent directory — и как они связаны с acl.



Последнее исправление: Hi (всего исправлений: 14)

перечитал пару раз, так и не понял, в чём вопрос заключается
потом нажал ctrl+f и ввёл туда знак вопроса - тоже тишина
странно, подумал я, запостил сообщение и пошёл дальше

anonymous
()
Ответ на: комментарий от anonymous

Спасибо. Отредактировал, выделил основные вопросы.

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

Какие особенности администрирования данных стоит учитывать, в зависимости от конкретного способа настроить совместимость?

Можно ли настроить это с помощью NTFS-3G и как? Что я понимаю и делаю не так?

Hi
() автор топика
Последнее исправление: Hi (всего исправлений: 1)

Может подъедут специалисты по ntfs, но у меня сделано так:

$ cat /etc/fstab | rg ntfs     
UUID=E23E14193E13E4F7    /mnt/wdata    ntfs3    uid=МОЙ_LINUXПОЛЬЗОВАТЕЛЬ,gid=users,dmask=022,fmask=133    0 0

# gid=users -- группа, в которой состоит мой пользователь и другие потенциальные пользователи

Эти настройки позволяют иметь права

# для директорий
drwxr-xr-x. 1 МОЙ_LINUXПОЛЬЗОВАТЕЛЬ users

# для файлов
-rw-r--r--. 1 МОЙ_LINUXПОЛЬЗОВАТЕЛЬ users

Это позволяет свободно писать/удалять и т.д. на ntfs-раздел, никаких проблем ни в Линуксе, ни в Винде.

Если ведро 5.15 и старше, то ntfs-3g можно заменить на ntfs3 – это новый драйвер с лучшей совместимостью и большей скоростью.

Im_not_a_robot ★★★★★
()
Последнее исправление: Im_not_a_robot (всего исправлений: 2)

В современных ядрах Linux уже присутствует ядерный драйвер ntfs на запись, вместо ntfs-3g.

anonymous
()
Ответ на: комментарий от Im_not_a_robot

Попробуй создать каталог от МОЙ_LINUXПОЛЬЗОВАТЕЛЬ и файл thefile.txt в этом каталоге. Поменяй владельца и группу на root’а, права на только чтение и, чтобы наверняка, сделай файл immutable:

$ mkdir /thedir
# touch /thedir/thefile.txt
# chown root:root thefile.txt
# chmod 400 thefile.txt
# chattr +i thefile.txt

А затем загрузись в Windows и от обычного пользователя попытаться изменить/удалить этот файл, а потом удалить каталог, в котором этот файл находится. Скажи, пожалуйста, что из этого получилось.

Hi
() автор топика
Последнее исправление: Hi (всего исправлений: 2)
Ответ на: комментарий от Im_not_a_robot

Прочитал man NTFS3. Интересно, что там есть обратная функция системные файлы Windows в Linux помечаются как immutable.
Также есть acl, с которой я так и не могу разобраться.

Hi
() автор топика
Последнее исправление: Hi (всего исправлений: 1)
Ответ на: комментарий от Im_not_a_robot

Если ведро 5.15 и старше, то ntfs-3g можно заменить на ntfs3 – это новый драйвер с лучшей совместимостью и большей скоростью.

Который при этом ни хрена не умеет работать с Junctions, созданными самой же виндой. И парагоновские говнокодеры откровенно *здят, что это якобы «проблема кривых симлинков, созданных ntfs-3g», и рекомендуют их «пересоздать» скриптом. Ну дак если вы, недоделки, используете в эмулирумых под Линуксом симлинках пути типа «C:/Users» — так чья это проблема, уроды?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.