Как предоставить нескольким пользователям доступ к разделу Windows NTFS?

8

У меня есть жесткий диск USB, подключенный к моей машине с Ubuntu (11.04). Каждый раз, когда я перезагружаю компьютер и подключаюсь к нему, он монтирует жесткий диск. Поскольку на диске есть NTFS, Linux назначает владельца файла на диске. Таким образом, все файлы на диске принадлежат одному пользователю, и только этот пользователь может видеть файлы.

Я использую две учетные записи на своем компьютере и часто переключаюсь между ними. После переключения на другую учетную запись пользователя я больше не могу получить доступ к содержимому диска, поскольку он принадлежит моей первой учетной записи. Можно ли с этим что-нибудь сделать, кроме монтирования через / etc / fstab?

Спасибо.

Александр Сандлер
источник

Ответы:

14

Монтаж с конкретными разрешениями

Там есть. Объедините обоих пользователей в группу. Затем используйте эту группу, чтобы установить gid=параметр, и смонтировать диск с разрешениями, которые вы хотите иметь. Вы можете управлять разрешениями с umask=, fmask=и dmask=параметрами в команде монтирования. Вот пример:

mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/sdc1 /media/winhdd

Эти параметры также могут быть использованы в /etc/fstabтак: UUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,dmask=007,fmask=117,gid=46,uid=1000 0 2.

Избегание fstab - автоматическое подключение определенного диска с помощью udev

Я полагаю, вы хотите избежать fstab, потому что диск не всегда подключен при загрузке. Если вы хотите избежать fstab, используйте правило udev . Udev может автоматически монтировать (и предотвращать автоматическое монтирование Ubuntu), когда диск подключен. Правило для этого может выглядеть так:

# In /etc/udev/rules.d/70-usb-winhdd-mount.rules

KERNEL=="sd?[0-9]", ATTR{removable}=="1", ATTRS{serial}=="UA04FLGC", ACTION=="add", RUN+="mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/%k /media/winhdd"

Вам нужно будет идентифицировать диск по его свойствам. В моем примере я сделал это ATTRS{serial}=="UA04FLGC". Я описал, как это сделать, в другом вопросе . Имена и расположение файлов правил также описаны там.

Дайте всем съемным дискам эти свойства

Если вы хотите сделать это со всеми съемными дисками - не только с этим конкретным диском, просто пропустите последовательную часть и обязательно назначьте уникальную точку монтирования (считая их, создавая из последовательного,% -символа udev или другого метода). Также, как указано в другом месте, ENV{mount_options}="$env{mount_options},dmask=007,fmask=117,gid=46,uid=1000" может быть возможность монтировать все съемные диски с определенными разрешениями / подключением.


Полезная информация, которую вы, возможно, уже знаете:

Создание группы и добавление пользователей

Это команды оболочки для создания группы с именем «winhdd» и добавления пользователя с именем «confus» в эту группу:

groupadd winhdd
usermod -a -G winhdd confus

Выяснение идентификатора группы

Вы можете найти идентификаторы групп всех групп в вашей системе в файле с именем /etc/group. Записи там выглядят так: winhdd:x:4:confus,narur,joe«confus», «narur» и «joe» - это имена пользователей, принадлежащих к этой группе, «adm» - это имя группы, а «4» - идентификатор группы, который вы ищете. В /etc/groupsвы также можете проверить , если при добавлении пользователей в вашей группе был успешным. Команда getent group winhddпокажет строку с информацией о группе. Команда idдает вам идентификатор вашей группы, идентификатор пользователя, а также имена и идентификаторы всех групп, к которым вы принадлежите.

Настройка umask-подобных параметров

Вы хотите установить dmask=на разумное значение , позволяя вам по крайней мере , для выполнения (= доступ) каталогов. fmask=это опция для прав доступа к файлам.

dmask=007,fmask=117,gid=46,uid=1000позволяет владельцу с номером 1000 (первая цифра в масках) и членам группы с номером 46 (вторая цифра в маске) ​​читать и записывать файлы и файлы на диске. Другие пользователи не имеют права что-либо делать (отсюда третья цифра в масках - 7). Вот значения маски :

7 – no permissions     6 – execute only    5 – write only
4 – write and execute  3 – read only       2 – read and execute
1 – read and write     0 – read, write and execute
con-f-use
источник
Я читал, что записи ntfs fstab должны быть настроены со значениями dmask & fmask, а не значениями umask ... dmask 027 и fmask 137 - ubuntuforums.org/showthread.php?&t=283131
fossfreedom
Правильно, каталоги должны иметь права на выполнение. Если вы хотите, чтобы файлы были исполняемыми, с umask все в порядке. Еще один способ - и маска, и путь - это путь.
con-f-use