Раздел данных NTFS не может быть доступен другому пользователю, если он не будет размонтирован в моем текущем сеансе перед выходом из системы.

Раздел данных NTFS не может быть доступен другому пользователю, если он не будет размонтирован в моем текущем сеансе перед выходом из системы.

Я работаю на Ubuntu 14.04, хотел создать еще одну учетную запись, помимо моей учетной записи администратора, для членов моей семьи, чтобы они не мешали мне работать. Проблема в том, что я не могу предоставить другой учетной записи доступ к разделу NTFS, содержащему данные, и я пробовал некоторые решения, упомянутые на форумах, но ничего не помогло. Тем не менее, пользователь, который входит в систему первым, когда машина перезагружается, кажется, захватывает этот раздел и запрещает другим пользователям получать к нему доступ даже после того, как он вышел из системы. Единственный трюк, который я нашел, чтобы сработал, эторазмонтироватьэтот раздел перед выходом текущего пользователя. Таким образом, следующий, кто собирается войти, будетустанавливатьраздел и получить к нему доступ.

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

решение1

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

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

У меня есть еще несколько разделов в этом ответе.

  • Первая — одна из моих fstabзаписей NTFS, которая относится к разделу Windows на моем компьютере с Ubuntu (а я единственный пользователь на этом компьютере).
  • Во втором разделе я беру свою fstabзапись и объясняю варианты крепления.
  • В третьем разделе представлена ​​предлагаемая мной процедура предоставления «безопасного» доступа к разделу, автоматического монтирования при загрузке и подходящего набора параметров монтирования для вашего случая (включая создание «группы пользователей», в которую вы добавляете пользователей, которым разрешен доступ к данным на смонтированном разделе. Эта группа пользователей действует как «контроль доступа», как и применяемые разрешения на конкретные файлы).
  • Четвертый раздел даст вам потенциальную /etc/fstabлинию поведения, если вы слушали меня в третьем разделе.

(1) Моя fstabзапись

К сожалению, на моем ноутбуке есть такой раздел NTFS, и мне нужно сделать его доступным для чтения мне и системным службам...

# Windows Partition - targetted for /media/win7
UUID=UUIDOFPARTITION  /media/win7    ntfs-3g     defaults,locale=en_US.utf8,windows_names,umask=7000,uid=1000,gid=1000,user  0   0

Что означает эта строка? Ну, первая строка с a #впереди — это комментарий. Вторая строка — более важная часть, которая является фактической fstabзаписью:

  1. Я идентифицирую раздел по UUID, который является строкой, идентифицирующей раздел. Вы можете получить UUID любого заданного раздела, выполнив sudo blkid /dev/sda1(заменив /dev/sda1фактическим ID вашего раздела, так что если он находится на втором диске и это третий раздел в таблице разделов второго диска, то, возможно, /dev/sdb3будет в этой команде. Я убираю кавычки вокруг UUID=строки в своей fstabзаписи.)
  2. Я монтирую его /media/win7при загрузке.
  3. Это раздел NTFS, поэтому я перехожу к fstabопции ntfs-3g, чтобы он знал, что это NTFS.
  4. Я предоставляю ему параметры монтирования по умолчанию и некоторые другие (я объясню их позже).
  5. Пятое поле определяет, нужно ли делать дамп файловых систем, но поскольку это не обязательно, я передал ему 0.
  6. Шестое поле используется fsck для определения порядка проверок файловой системы во время загрузки, но поскольку мне это не нужно, я передаю 0.

(2) Варианты крепления

Я рассматриваю довольно много вариантов крепления:

  • defaults- передает параметры монтирования по умолчанию ( rw- чтение/запись, suid- разрешает вступление в силу битов set-user-identifier или set-group-identifier, dev- интерпретирует символы или блокирует специальные устройства в файловой системе, exec- разрешает выполнение двоичных файлов, auto- разрешает монтирование с -aопцией mount, nouser- запрещает пользователю монтирование (переопределяется позже), async- разрешает асинхронный ввод-вывод с файловой системой.)
  • locale=en_US.utf8- принудительно устанавливает локаль (США) на английском языке с кодировкой UTF8
  • windows_names- обеспечивает применение ограничений Windows на имена новых файлов в разделе.
  • umask=7000- По сути, обратный chmod. Определить, какие разрешения естьнетразрешено для файлов. По сути, я не запрещаю здесь ничего читать/писать/исполнять, поэтому все файлы в смонтированном расположении получают, по сути, привилегии чтения, записи и выполнения. Я не хочу, чтобы были установлены какие-либо специальные биты (setuid, setgid, sticky), поэтому мне приходится исключать их из первого октета — поскольку их числовая сумма равна «7», а я запрещаю эти разрешения, я ставлю начальную цифру 7.
  • uid=1000, gid=1000- Смонтируйте раздел в эту папку с пользователем и группой, владеющими UID (идентификатор пользователя) и GID (идентификатор группы) 1000(это пользователь и группа моего пользователя, teward, в системе Ubuntu).
  • user- Разрешить пользователю монтировать или размонтировать каталог. Переопределяет nouserопцию в defaults.

(3) Решение для вас, безопасное

Мы, вероятно, могли бы упростить параметры монтирования, чтобы они были этими параметрами, хотя для вашего варианта использования, поскольку пользователи получают доступ к данным, а не к системе. Однако давайте сделаем это безопасным способом. Давайте создадим группу пользователей, которая даст здесь права на чтение/запись/выполнение.

addgroup ntfs-users- Это создаст группу пользователей с именем «ntfs-users».

id -g ntfs-users- Это даст нам числовой идентификатор группы для 'ntfs-users'. Это нам нужно для gid=опции монтирования.

usermod -a -G ntfs-users USERNAME- добавьте USERNAMEпользователя в ntfs-usersгруппу, которую мы только что создали.

Теперь мы можем использовать эту строку параметров монтирования:

rw,exec,async,auto,user,locale=en_US.utf8,windows_names,umask=7007,gid=654

Вот что делает эта строка, но не делает моя строка в fstab:

  1. Выбрать и использовать определенные параметрыdefaults
  2. Позволяет uidпользователю-владельцу быть любым (обычно root при монтировании загрузки)
  3. НЕ позволяет пользователям монтировать/размонтировать
  4. Устанавливает «групповое» владение точкой монтирования (и, следовательно, доступ к данным внутри) для Group ID 654, гипотетический идентификатор группы, ntfs-usersкоторый мы создали выше
  5. ntfs-usersНе разрешает доступ к данным всем остальным пользователям (т. е. не владельцу и никому в группе).

Если вы хотите владеть данными, то есть быть владельцем пользователя вместо root, то добавьте обратно uid=опцию. Используйте id -u YOURUSERNAMEи замените YOURUSERNAMEна свое имя пользователя, чтобы получить идентификатор пользователя ( uid) для использования с этой опцией.


(4) Возможная /etc/fstabзапись для ВАШЕГО варианта использования, предполагая, что вы слушали меня в разделе 3

Получите UUID для раздела, тогда это может быть что-то вроде вашей /etc/fstabстроки:

UUID=0123456789ABCDEF    /mnt    ntfs-3g    rw,exec,async,auto,user,locale=en_US.utf8,windows_names,umask=7007,gid=654    0    0

Замените значение UUID=на UUID раздела, который выхотетьдля монтирования замените /mntна точку монтирования в вашей системе, замените значение gid=в параметрах монтирования на идентификатор группы, которую ntfs-usersмы создали, и если вы хотите, чтобы владельцем был ваш пользователь вместо root, то добавьте uid=параметр, указав uidдля вашего пользователя, как я уже говорил ранее.

Связанный контент