Мне нужно разрешить пользователю без полномочий root монтировать / размонтировать устройство. Я абсолютный нуб, когда дело доходит до UNIX, поэтому, пожалуйста, сделайте это для меня.
Я искал во всем Интернете, чтобы найти ответ, и кажется, что все дают один и тот же ответ, который заключается в том, чтобы изменить /etc/fstab
чтобы включить это устройство с опцией user
(или users
, попробовавшие оба). Я сделал это, и он по-прежнему говорит mount: only root can do that
.
Вот содержимое моего fstab:
# /etc/fstab: static file system information. # # Use 'vol_id --uuid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # proc /proc proc defaults 0 0 # / was on /dev/mapper/minicc-root during installation UUID=1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 relatime,errors=remount-ro 0 1 # /boot was on /dev/sda5 during installation UUID=038498fe-1267-44c4-8788-e1354d71faf5 /boot ext2 relatime 0 2 # swap was on /dev/mapper/minicc-swap_1 during installation UUID=0bb583aa-84a8-43ef-98c4-c6cb25d20715 none swap sw 0 0 /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0 /dev/scd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 /dev/sdb1 /mnt/sdcard auto auto,user,rw,exec 0 0
Мой раздел флешки отображается как /dev/sdb1
. Я почти уверен, что мой fstab
настроен нормально, но все остальные посты, похоже, не упоминают, как они на самом деле вызывают команду mount
когда эта запись находится в файле fstab. Я думаю, что это где моя проблема. Команда, которую я использую для монтирования диска:
$ mount /dev/sdb1 /mnt/sdcard
/bin/mount
принадлежит root и находится в корневой группе и имеет 4755 разрешений.
/bin/umount
принадлежит root и находится в корневой группе и имеет 4755 разрешений.
/mnt/sdcard
принадлежит мне и входит в одну из моих групп и имеет 0755 разрешений.
Моя команда монтирования работает нормально, если я использую sudo
, но мне нужно иметь возможность делать это без sudo
(нужно уметь делать это из сценария PHP с использованием shell_exec
). Какие-либо предложения?