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

25

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

Я имею:

  • 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

получил с 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 - чем как? :)

GeekSince1982
источник
Я думаю, что вы должны опубликовать весь fstab для обзора, а не только одну строку. Что касается правильных разрешений, запустите id mediaи используйте uid=и gid=и umask=027параметры.
mikewh независимо от
1
Есть ли какая-то причина, по которой вам нужно использовать FAT? Если нет, я бы сделал резервную копию данных и использовал собственную файловую систему Linux. Затем вы можете установить владельца и разрешения.
Пантера
@ mikewh независимо от того, спасибо, но на самом деле это работает странно ... ну .. не совсем :)
GeekSince1982
@ bodhi.zazen сделал больше чтения ... швы, как на Ubuntu 12 Fstab должен иметь только крепления для статических дисков. не любой USB ...
GeekSince1982

Ответы:

27

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

CacheXT
источник
1
-o umask=000это!! Спасибо!
Энтони
4

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

user555425
источник
3

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

sudo chmod 0777 /home/storage

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

Зейн Хупер
источник
1
Никогда не применяйте разрешения R + W + X для каждого пользователя. Это позволило бы кому-либо или чему-либо получить доступ, выполнить, удалить, изменить хранилище и его содержимое ....
Сердитый 84
1
В большинстве операционных систем USB-накопители монтируются так, что любой пользователь может изменять содержимое. Если вы являетесь администратором сервера в ситуации, когда это может быть проблемой, мне не пришлось бы говорить вам, что означает 0777.
Зейн Хупер
Диски по умолчанию никогда не монтируются, чтобы разрешить всем пользователям, поэтому у них есть группы и разрешения. В любом случае всегда безопаснее показывать лучший мод безопасности, так как люди будут просто копировать и вставлять, не зная лучше
Angry 84
-1

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

Перед тем как смонтировать хранилище на свой Linux-ящик:

  1. Запустите следующую команду

    ntfsfix /dev/storagedevice ( like sdb1 or sdc1 )  
    
  2. Перезагрузите Linux

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

    mount -o rw /dev/storagedevice /media/ 
    

    или

    mount -o rw /dev/storagedevice /mnt/ 
    

    или подключите устройство хранения через графический интерфейс.

Виталие
источник