Вопрос или проблема
Я использую Debian 8.8 и использую ntfs-3g для монтирования NTFS-раздела в /etc/fstab
. Вот моя запись:
/dev/sdc1 /mnt/data_backup ntfs-3g rw,uid=1000,gid=1000,dmask=0002,fmask=0003 0 0
Для моей учетной записи userA
нормально читать и записывать на раздел. Однако мой рабочий стол доступен другому пользователю userB
, который не входит в группу root
. Есть ли способ сделать раздел записываемым для пользователя userB
, не имеющего прав root? И лучший результат будет в том, что userB
сможет только добавлять, но не сможет удалять файлы в разделе. Также приемлемо решение через FTP. Спасибо!
Я потратил некоторое время на изучение концепции пользователей и групп, что помогло мне понять механизм модуля ntfs-3g. Вот мое решение:
- Создайте группу
ntfs
и добавьте в группуuserA
иuserB
. - Измените gid в
/etc/fstab
наgid=ntfs
. Тогда маска означает, что все пользователи в группе могут записывать на раздел.
@Seven Спасибо!
Спросили 4 года, 10 месяцев назад
текущая дата 2022-05-11
Я использую RHEL/CentOS 7.9 и использую ntfs-3g-2021.8.22-2.el7.x86_64.rpm
и ntfs-3g-libs-2021.8.22-2.el7.x86_64.rpm
, которые, как я полагаю, поступили из репозитория EPEL, у меня нет проблем с монтированием NTFS-раздела как записываемого. На самом деле, используя эту последнюю версию ntfs-3g, мне даже не нужно использовать опцию -t ntfs-3g
для команды монтирования. Однако мои NTFS файловые системы имеют rwxrwxrwx
для всего на них при монтировании в Linux.
Когда я использовал ntfs-3g, например, версию 2019 года, это работало, но мне пришлось использовать опцию -t ntfs-3g
при монтировании, среди других нюансов.
Таким образом, текущий ответ на этот вопрос, основанный на моем опыте, и я использую USB-портативный диск, отформатированный в NTFS под Windows 10, для передачи данных между моим ПК с Windows и серверами Linux… все время в последние пару лет… У меня нет проблем с монтированием NTFS-раздела в Linux и с возможностью записи в него независимо от пользователя Linux. Поэтому используйте последнюю версию ntfs-3g.
Но если вы хотите смонтировать NTFS-раздел с помощью ntfs-3g и иметь разумную политику разрешений для пользователя/группы, это другая история.
Ответ или решение
Чтобы смонтировать NTFS-раздел с возможностью записи для пользователя, не обладающего правами root, особенно в среде Debian 8.8, следует внимательно рассмотреть настройки монтирования. Использование ntfs-3g
предоставляет вам нужные инструменты для работы с NTFS-файловыми системами, так как данный драйвер обеспечивает полноценную поддержку чтения и записи.
Шаг 1: Создание группы
Первоначально создайте группу, в которую будут включены пользователи, имеющие доступ к разделу. Это позволит контролировать права доступа на уровне группы.
sudo groupadd ntfs
sudo usermod -aG ntfs userA
sudo usermod -aG ntfs userB
Шаг 2: Настройка параметров в /etc/fstab
Теперь вам нужно изменить запись монтирования в файле /etc/fstab
. Откройте его с помощью текстового редактора:
sudo nano /etc/fstab
Замените вашу запись на следующую, чтобы задать правильный идентификатор группы и контроль доступа:
/dev/sdc1 /mnt/data_backup ntfs-3g rw,uid=1000,gid=<gid_группы>,dmask=0007,fmask=0007 0 0
Вместо <gid_группы>
подставьте идентификатор (GID) созданной группы ntfs
. Чтобы узнать GID, выполните команду:
getent group ntfs
Вывод будет типа следующего:
ntfs:x:1001:
В данном примере GID равен 1001
, тогда запись в /etc/fstab
будет выглядеть так:
/dev/sdc1 /mnt/data_backup ntfs-3g rw,uid=1000,gid=1001,dmask=0007,fmask=0007 0 0
Шаг 3: Открытие доступа
Теперь необходимо смонтировать раздел, чтобы изменения вступили в силу:
sudo umount /mnt/data_backup
sudo mount -a
Шаг 4: Настройка прав доступа
Убедитесь, что права доступа правильно настроены. После монтирования раздела выполните следующую команду, чтобы изменить режим доступа:
sudo chmod 770 /mnt/data_backup
Теперь userA
и userB
, как члены группы ntfs
, смогут создать и редактировать файлы на разделе. Однако стоит учесть, что по умолчанию все пользователи группы смогут удалять или изменять файлы.
Реализация только для добавления файлов
Если вы хотите, чтобы userB
мог только добавлять файлы, но не удалять или модифицировать существующие, вам придется использовать несколько иной подход, поскольку файловая система NTFS и ntfs-3g
не поддерживают такие специфические разрешения на уровне файлов. Хотя можно рассмотреть альтернативные пути, например, использование FTP-сервера для загрузки данных, что позволит более тонкую настройку прав доступа.
Альтернативный подход: FTP
Если FTP-сервер является приемлемым решением, вы можете установить vsftpd
или proftpd
. Это позволит userB
передавать файлы на сервер, куда будет смонтирован NTFS-раздел. Идея заключается в предоставлении доступа к разделу только через FTP, что даст вам полный контроль над правами доступа.
sudo apt-get install vsftpd
После установки вам потребуется настроить конфигурационный файл, чтобы разрешить доступ пользователям и управлять их правами на загрузку файлов.
Заключение
Таким образом, предоставление прав записи для непривилегированных пользователей на NTFS-раздел возможно через правильную настройку группы и параметров монтирования. Для добавления, но не удаления или изменения файлов вам может потребоваться использовать FTP, чтобы обеспечить более строгий контроль доступа.