мерзавец init показывает 'ошибку: chmod … .git/config.lock перестал работать: Операция, не разрешенная'

Права файла являются худшей вещью для меня в Ubuntu. На этот раз я получаю эту проблему:

enter image description here

Так, вводная информация:

Это ntfs раздел;

Я уже работал sudo chown *username*:*username* -R partition_mount_point;

Я могу создать/удалить каталоги там без sudo;

Никакие сообщения об ошибках на выполнении git init в файловой системе Linux;

Править: Я должен смочь работать с файлами из Windows

0
задан 16 September 2017 в 05:07

1 ответ

Как описано здесь в таблице параметров монтирования, вы можете монтировать 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
0
ответ дан 18 August 2020 в 07:20

Другие вопросы по тегам:

Похожие вопросы: