Вопрос или проблема
На моем Fedora 41 у меня есть btrfs / и два смонтированных диска NTFS:
/dev/sda1 на /run/media/adom/C04645DA4645D1B8 тип fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
/dev/sdb1 на /run/media/adom/8C3C96D43C96B922 тип fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,uhelper=udisks2)
Для каждого из этих NTFS дисков я монтирую каталог с помощью двух очень похожих команд:
mount --bind /run/media/adom/C04645DA4645D1B8/wd-shared /xchng/wd-shared
mount --bind /run/media/adom/8C3C96D43C96B922/tmp/dl /xchng/dl
Тем не менее, эффект очень разный. Оба каталога существуют и доступны, оба имеют одного и того же пользователя, группу и разрешения 777. Но:
-
Один из каталогов появляется в выводе монтирования, а другой нет:
$ mount | grep dl /dev/sdb1 на /xchng/dl тип fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096) $ mount | grep shared $
-
Файл, созданный в dl, имеет разрешения 777, а файл, созданный в wd-shared, оказывается с 644.
Почему это происходит? В чем разница?
Ответ или решение
На первый взгляд, проблемы с монтированием, о которых вы упоминаете, могут показаться незначительными, но в действительности они могут возникать из-за различных факторов, связанных с работой систем файлов, правами доступа и особенностями управления точки монтирования в операционной системе Linux. Давайте рассмотрим каждый из пунктов вашей проблемы подробнее.
1. Разное поведение команды mount --bind
Команда mount --bind
создает дополнительную точку монтирования для существующей директории, но важно понимать, что, в отличие от создания новых файловых систем, эта операция не всегда воспринимается однообразно для всех типов файловых систем.
Причина, по которой /xchng/wd-shared
не отображается в выводе команды mount
Точку монтирования может не быть в списке монтирования по нескольким причинам, включая:
-
Проблема с механизмом монтирования: Ваша первой точке монтирования может не разрешаться правильно. Проверьте, что обе директории
/run/media/adom/C04645DA4645D1B8/wd-shared
и/run/media/adom/8C3C96D43C96B922/tmp/dl
действительно существуют и доступны для монтирования. -
Разные файловые системы: Учитывая, что в вашем случае используются NTFS-диски и команда
mount --bind
, возможно, у вас имеются отличия в реализациях файловых систем. NTFS обрабатывается черезfuseblk
, и, соответственно, могут быть различия в том, как операции монтирования происходят в зависимости от специфики установки и настроек.
2. Разные права доступа на создаваемые файлы
Разные права доступа к файлам, создаваемым в каталогах dl
и wd-shared
, могут возникать из-за различий в контексте монтирования.
-
Параметры монтирования: Проверьте, какие параметры монтирования указаны для каждого из томов NTFS. Меры, такие как
default_permissions
, могут не действовать для NTFS, так как фильтрация прав доступа для NTFS может идти с различными настройками и могут приводить к различному поведению. В отличие от NTFS, например, btrfs управляет правами доступа более предсказуемо. -
Параметры привилегий: Если параметры файловой системы
fuse
отличаются между двумя монтированными каталогами, это также может привести к различным настройкам по умолчанию для новых файлов, создаваемых в этих каталогах. Например, umax и umask могут иметь отличный вид у разных файловых систем.
Заключение
Ваша ситуация иллюстрирует тонкости работы с файловыми системами и управлением монтированием в Linux. Настоятельно рекомендуется проверить возможности и настройки всех файловых систем, с которыми вы работаете, так как разница в реализации NTFS и особенности, связанные с fuse
, могут объяснять как отсутствие монтируемой точки, так и различные права доступа к файлам. Это требует внимательного подхода к спецификациям и документации конкретных файловых систем, что поможет вам лучше понять и решить возможные проблемы в будущем.
Если у вас есть дополнительные вопросы или вам нужны рекомендации по изучению, пожалуйста, сообщите!