UNIX - mount: это может сделать только root


15

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

Я искал во всем Интернете, чтобы найти ответ, и кажется, что все дают один и тот же, который должен изменить, /etc/fstabчтобы включить это устройство с userопцией (или usersпробовал оба). Я сделал это, и это все еще говорит mount: only root can do that.

Вот содержимое моего fstab:

# / etc / fstab: статическая информация о файловой системе.
#
# Используйте 'vol_id --uuid', чтобы напечатать универсально уникальный идентификатор для
# устройство; это может использоваться с UUID = как более надежный способ именования устройств
# это работает, даже если диски добавлены и удалены. Смотрите fstab (5).
#
#                
proc / proc proc по умолчанию 0 0
# / был включен / dev / mapper / minicc-root во время установки
UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 relaytime, ошибки = remount-ro 0 1
# / boot был включен / dev / sda5 во время установки
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relaytime 0 2
# swap был включен / dev / mapper / minicc-swap_1 во время установки
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 нет своп sw 0 0
/ dev / scd0 / media / cdrom0 udf, пользователь iso9660, noauto, exec, utf8 0 0
/ dev / scd0 / media / floppy0 auto rw, пользователь, noauto, exec, utf8 0 0
/ dev / sdb1 / mnt / sdcard auto auto, пользователь, rw, exec 0 0

Мой раздел флешки отображается как /dev/sdb1. Я почти уверен, что my fstabнастроен нормально, но все остальные посты, похоже, не упоминают, как они на самом деле вызывают mountкоманду, когда эта запись находится в файле fstab. Я думаю, что это где моя проблема. Команда, которую я использую для монтирования диска:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountпринадлежит пользователю root и входит в корневую группу и имеет 4755 разрешений.
/bin/umountпринадлежит пользователю root и входит в корневую группу и имеет 4755 разрешений.
/mnt/sdcardпринадлежит мне и входит в одну из моих групп и имеет 0755 разрешений.

Моя команда монтирования работает нормально, если я использую sudo, но я должен быть в состоянии сделать это без sudo(должен быть в состоянии сделать это с помощью сценария PHP с помощью shell_exec). Какие-либо предложения?


1
Пожалуйста, не используйте выражения типа "teh interwebz", это просто отвлекает.
Георг Шолли

9
Я скорее предпочел бы видеть, как «впитывается» с юмором и индивидуальностью, чем видеть, как кто-то использует «ты», «ур», «любой1» и тому подобное из-за лени и невежества. Я хочу сказать, что есть разница, и она очевидна в зависимости от контекста.
Приостановлено до дальнейшего уведомления.

Ответы:


17

При монтировании тома как обычного пользователя вам нужно только указать имя точки монтирования, то есть:

mount /mnt/sdcard

/etc/fstabФайл содержит устройство , которое будет использоваться.


2
Или вы можете смонтировать устройство и fstabукажите точку монтирования.
Приостановлено до дальнейшего уведомления.

АГА! Я подумал, что это будет что-то не так с моим командным синтаксисом. Очень рад, что это было что-то простое. Благодарность!!! Награждение ответом на этот пост, так как это было самое прямое и описательное решение МОЕЙ проблемы, хотя ответ Денниса также предполагал это и также решил бы проблему.
Travesty3

7

Попробуйте сменить владельца /dev/sdb1на root:

chown root:root /dev/sdb1

и ваша fstabлиния

/dev/sdb1   /mnt/sdcard auto    rw,user,noauto,exec,utf8   0   0

И сделайте mountтак:

mount /dev/sdb1

Спасибо за ответ! Ваше решение также решило бы проблему, и, надеюсь, другим читателям этого поста помогут и другие ваши предложения. Еще раз спасибо!
Travesty3

-1

Я думаю, что авто вариант делает беспорядок. Замените это с помощью noauto.


обратите внимание, что это «auto» в «auto, user, rw, exec», а не в отдельном «auto». автономный «auto» предназначен для определения используемой файловой системы и должен быть в порядке.
шарлатан-кихот

Нет, та же проблема. изменил это, чтобы сказать / dev / sdb1 / mnt / sdcard auto noauto, пользователь, rw, exec 0 0. не уверен, было ли это необходимо или нет, но так как это сервер разработки, и я могу, я перезагрузил компьютер после изменения файл fstab, безрезультатно. Спасибо за предложение, продолжайте в том же духе!
Travesty3
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.