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

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

У меня есть:

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

Я хочу:

В конечном счете мне нужно perma-mount /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 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 никогда ничего не делает.

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

ОБНОВЛЕНИЕ:

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

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

25
задан 5 February 2013 в 03:03

4 ответа

Похоже, ваша проблема связана с установленными вами разрешениями. Диски в формате 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/ , где приведены некоторые примеры разрешений для файла пропппера

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

0
ответ дан 5 February 2013 в 03:03

Если они не переопределены параметрами монтирования, 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), владельцем монтирования будет «пользователь».

0
ответ дан 5 February 2013 в 03:03

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

sudo chmod 0777 /home/storage

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

0
ответ дан 5 February 2013 в 03:03

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

перед монтированием устройства хранения данных к полю Linux:

  1. Выполнение ниже Перезагрузки команды

    ntfsfix /dev/storagedevice ( like sdb1 or sdc1 )  
    
  2. Ваше поле

  3. Linux Монтируют внешнее устройство хранения данных путем выполнения команды:

    mount -o rw /dev/storagedevice /media/ 
    

    или

    mount -o rw /dev/storagedevice /mnt/ 
    

    или монтируют storagedevice через GUI.

0
ответ дан 5 February 2013 в 03:03

Другие вопросы по тегам:

Похожие вопросы: