Смонтировать USB-накопитель с правами на запись для всех или конкретного пользователя

Я знаю, что есть похожие вопросы, но у меня есть какая-то конкретная проблема, которую я не могу преодолеть.

У меня есть:

  • Жесткий диск разделен на два раздела. /dev/sdb1 и /dev/sdb2. sdb1 это NTFS, и мне это не нужно. Мне нужно sdb2 который является fat32.
  • Ubuntu 12.04.1 LTS (сервер)

Я хочу:

В конечном счете мне нужна постоянная установка /dev/sdb2 к /home/storage с правом доступа (rw) для пользователя media.

Проблемы, с которыми я сталкиваюсь:

1) С помощью ручного монтирования из командной строки.

Если я просто использую

server# sudo mount /dev/sdb2 /home/storage

Он монтируется, но /home/storage получает root в качестве владельца и группы и не разрешает media пользователь должен написать там.

Если я использую mount команда без sudo как пользователь media - мне нельзя. Говорит, что только root может использовать mount.

Если я использую mount с опциями: server# sudo mount /dev/sdb2 /home/storage -o umask=000 Я получаю то, что мне нужно. Конечно, немного преувеличено, поскольку папка хранилища становится доступной для записи для всех. НО - это монтируется вручную - теперь мне нужно, чтобы он перемонтировался при каждой перезагрузке.

2) Повторное подключение при перезагрузке - с помощью fstab

Поэтому я подумал, что со мной все будет в порядке, если я использую fstab чтобы смонтировать этот раздел (/dev/sdb2) каждый раз, когда я перезагружаюсь. То fstab строка, которую я добавил:

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8,noauto 0 0

получил uuid с blkid. Тип fs auto я менялся несколько раз...пытался vfat тоже, но всегда при перезагрузке ubuntu останавливается при обработке fstab (как я думаю) с сообщением (взято из журнала):

fsck from util-linux 2.20.1/dev/sda5: clean, 120559/10969088 files, 19960144/43861504 blocksmount: unknown filesystem type 'static'mountall: mount /etc/fstab: [772] terminated with status 32mountall: Filesystem could not be mounted: /etc/fstab:Skipping /etc/fstab: at user request

А также - sudo mount -a никогда ничего по-настоящему не делает.

Что я делаю не так? Я действительно подозреваю, что я что-то напутал :)

ОБНОВЛЕНИЕ:

Как кажется - fstab должен содержать только крепления для статических дисков, а не какие-либо USB-устройства. Я озадачен, как тогда это работает со всеми людьми, публикующими в сети свои истории успеха...

однако .. если это невозможно - я хотел бы знать, как перемонтировать мой usb после каждой перезагрузки ... если не с помощью fstab - то как?:)

Похоже, ваша проблема связана с установленными вами разрешениями. Диски в формате FAT / FAT32 не поддерживают права доступа к файлам. Разрешения для всего определяются тем, как смонтирован диск. Когда вы устанавливаете разрешение открыть, оно работает, когда вы

server# sudo mount /dev/sdb2 /home/storage -o umask=000

Что касается этого, а не автоматического монтирования при перезагрузке

UUID=8C52-C1CD /home/storage auto user,umask=000,utf8, -->noauto<-- 0 0

"noauto" не позволяет автоматически монтировать это при запуске системы и анализе файла /etc/fstab. Удалите этот параметр, и он будет монтироваться при запуске. Вы можете установить разрешения для точки монтирования, как только она будет смонтирована с помощью chmod или укажите их в /etc/fstab.

Если вам нужен доступ к нему для пользователя мультимедиа, вы можете установить разрешения на 764 и добавить их в группу безопасности. Root всегда имеет доступ ко всему.

видеть http://www.linux.org/threads/file-permissions-chmod.4094/ для некоторых примеров разрешений для файлов propper

Кстати, бодхи.дзадзэн хорошо подметил, есть ли какая-то причина, по которой вам нужно использовать ЖИР? Если нет, я бы создал резервную копию данных и использовал собственную файловую систему Linux. Затем вы можете установить права собственности и разрешения.

Примечание: как упоминалось в комментариях ниже, будьте осторожны, используя разрешения 0777: это означает, что любой пользователь или любой скрипт на компьютере может записывать данные на диск. Имея в виду это предостережение, иногда это может быть полезным решением в крайнем случае:

Вы также можете запустить

sudo chmod 0777 /home/storage

Поскольку диски FAT не имеют разрешений, linux применяет разрешение точки монтирования ко всему диску.

Если параметры монтирования не переопределены GID= или UID=, владелец и разрешения точки монтирования при монтировании становятся правами монтируемого дерева файловой системы.

Таким образом, если / dev / sdb1 содержит файловую систему ext4 (скажем, резервную копию), принадлежащую пользователю, то пользователь станет владельцем точки монтирования после успешного монтирования.

Начиная с этого, у нас есть пустая папка "backup", которая служит точкой монтирования и принадлежит root.

# ls -alR /mnt/mnt/:drwxr-x---  5 root root 4096 May 30 20:59 ./drwxr-xr-x  3 root root 4096 Dec  5  2015 ../drwx------  2 root root 4096 Jan  1 07:45 backup//mnt/backup:drwx------  2 root root 4096 Jan  1 07:45 .drwxr-x---  5 root root 4096 May 30 20:59 ..

теперь мы монтируем /dev /sdb1 (только для чтения)

# mount -o ro /dev/sdb1 /mnt/backup

и давайте посмотрим...

# ls -alR/mnt/:drwxr-x---  5 root root 4096 May 30 20:59 ./drwxr-xr-x  3 root root 4096 Dec  5  2015 ../drwx------  2 user user 4096 Jan  1 07:45 backup//mnt/backup:drwx------  2 user user 4096 Jan  1 07:45 .drwxr-x---  5 root root 4096 May 30 20:59 ..-rw-------  1 user user 252076021760 Jun  9 21:11 backup.tar

Теперь, если у вас есть пустой диск, и вы хотите смонтировать его для "пользователя" в качестве расширения дискового пространства "пользователя", смонтируйте диск как root, измените корень монтирования на "user" и размонтируйте.

В следующий раз, когда файловая система будет смонтирована (root или кем-либо еще в соответствии с fstab), владельцем монтирования будет "пользователь".

Если у вас есть внешнее запоминающее устройство, подключенное к вашему Linux box с помощью NTFS, убедитесь, что файловая система чистая.

Перед подключением хранилища к вашему Linux box:

  1. Выполните приведенную ниже команду

    ntfsfix /dev/storagedevice ( like sdb1 or sdc1 )  
  2. Перезагрузите свой Linux-бокс

  3. Смонтируйте внешнее хранилище, выполнив команду:

    mount -o rw /dev/storagedevice /media/ 

    или

    mount -o rw /dev/storagedevice /mnt/ 

    или смонтируйте storagedevice с помощью графического интерфейса пользователя.

Есть ли какая-то причина, по которой вам нужно использовать ЖИР? Если нет, я бы создал резервную копию данных и использовал собственную файловую систему Linux. Затем вы можете установить права собственности и разрешения.

@mikewhatever спасибо, но на самом деле это работает странно… ну… не совсем:)

@bodhi.zazen больше читал… швы, как и в ubuntu 12, fstab должны иметь только крепления для статических дисков. не какой-нибудь usb…

Я думаю, вам следует опубликовать весь fstab для просмотра, а не только одну строку. Что касается правильных разрешений, запустите “id media” и используйте опции “uid=”, “gid=” и “umask=027”.