Права файла являются худшей вещью для меня в Ubuntu. На этот раз я получаю эту проблему:
Так, вводная информация:
Это ntfs
раздел;
Я уже работал sudo chown *username*:*username* -R partition_mount_point
;
Я могу создать/удалить каталоги там без sudo
;
Никакие сообщения об ошибках на выполнении git init
в файловой системе Linux;
Править: Я должен смочь работать с файлами из Windows
Как описано здесь в таблице параметров монтирования, вы можете монтировать ntfs-3g несколькими способами.
Если вы монтируете его, как показано ниже, разрешения определяются параметрами монтирования, а не метаданными файла (ACL). Таким образом, chmod не сможет изменить разрешения и выдаст ошибку.
РЕЖИМ: Один и тот же владелец (uid, gid) и разрешения для всех файлов и каталогов (ограничено fmask, dmask и umask)
КОГДА: определены uid, gid, fmask, dmask или umask, и файл отображения пользователя не найден
Итак, чтобы убедиться, что chmod не даст сбой, просто не указывайте ничего из этого (uid
, gid
, fmask
, dmask
или umask
) в параметрах монтирования. У вас есть несколько альтернатив в зависимости от того, хотите ли вы иметь дело с разрешениями, как это делает Windows, или просто полностью игнорировать разрешения из Linux.
Смонтируйте его, как показано ниже, если вы хотите просто игнорировать весь контроль доступа (проверки chmod, chown и разрешений ничего не сделают и не вернут никаких ошибок). Это самый простой способ:
РЕЖИМ: без проверки разрешений
КОГДА: Нет uid, gid, fmask, dmask, umask, разрешений или параметров acl, а также не найден файл сопоставления пользователей
Если вы хотите включить контроль доступа с некоторой совместимостью с Windows, вы можете просто использовать разрешения
вариант монтирования (и ни один из упомянутых ранее).
Однако это ограничивает доступ к личным папкам, таким как C:\Users\
, поэтому вам, вероятно, придется указать файл сопоставления пользователей (C:\.NTFS-3G\UserMapping
) в любом случае, чтобы сопоставить ваш SID пользователя Windows с вашим UID пользователя Linux. Это более сложно, поэтому я рекомендую просто игнорировать разрешения, если вы можете это сделать.
MODE: стандартные проверки разрешений в соответствии с владельцем и режимом, но списки контроля доступа POSIX не используются (игнорируются uid, gid, fmask, dmask и umask)
КОГДА: не определены uid, gid, fmask, dmask, umask или acl, но определены разрешения и не найден файл сопоставления пользователей
ИЛИ КОГДА: [...] найден файл сопоставления пользователей
Пример записи fstab (соответствующая подразумеваемая опция silent
эффективна, поскольку я не указываю остальные):
UUID=0123456789ABCDEF /windows ntfs noatime,users,windows_names