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

17

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

У меня есть:

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

Я хочу:

В конечном итоге мне нужен perma-mount /dev/sdb2 to /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 i изменился несколько раз ... Пробовал vfat тоже, но всегда при перезагрузке ubuntu останавливается при обработке fstab (как я думаю) с сообщением (взятым из журнала):

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

А также - sudo mount -a никогда ничего не делает.

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

UPDATE:

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

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

    
задан GeekSince1982 04.02.2013 в 14:26
источник

3 ответа

18

Кажется, что проблема связана с разрешениями, которые вы установили. Форматированные диски 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 и добавить их в группу безопасности. Корень всегда имеет доступ ко всему.

см. Ссылка для некоторых примеров разрешений файла propper

С одной стороны, bodhi.zazen сделал хороший момент Есть ли какая-то причина, по которой вам нужно использовать FAT? Если нет, я бы сделал резервную копию данных и использовал собственную файловую систему linux. Затем вы можете установить права собственности и разрешения.

    
ответ дан CacheXT 11.12.2013 в 13:39
источник
4

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

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

Начиная с мы имеем пустую папку «резервное копирование», чтобы служить точкой монтирования, и принадлежит 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, корень корня mount to 'user' и размонтировать.

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

    
ответ дан user555425 10.06.2016 в 06:37
2

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

sudo chmod 0777 /home/storage

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

    
ответ дан Zane Hooper 25.03.2015 в 13:15