UNIX - mount: może to zrobić tylko root

15

Muszę zezwolić użytkownikowi innemu niż root na zamontowanie / odmontowanie urządzenia. Jestem totalnym noobem, jeśli chodzi o system UNIX, więc proszę, stęp go dla mnie.

Szukałem w całym interwebz, aby znaleźć odpowiedź i wydaje się, że każdy daje to samo, czyli zmodyfikować, /etc/fstababy włączyć to urządzenie z useropcją (lub userswypróbowałem oba). Zrobiłem to i nadal tak jest mount: only root can do that.

Oto zawartość mojego fstab:

# / etc / fstab: informacje o statycznym systemie plików.
#
# Użyj „vol_id --uuid”, aby wydrukować uniwersalnie unikalny identyfikator dla
# urządzenie; można tego użyć z UUID = jako bardziej niezawodny sposób na nazwanie urządzeń
#, który działa, nawet jeśli dyski są dodawane i usuwane. Zobacz fstab (5).
#
#                
proc / proc proc domyślnie 0 0
# / był na / dev / mapper / minicc-root podczas instalacji
UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 relatime, błędy = remount-ro 0 1
# / boot był włączony / dev / sda5 podczas instalacji
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relatime 0 2
# zamiana była włączona / dev / mapper / minicc-swap_1 podczas instalacji
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 brak zamiany sw 0 0
/ dev / scd0 / media / cdrom0 udf, użytkownik iso9660, noauto, exec, utf8 0 0
/ dev / scd0 / media / floppy0 auto rw, użytkownik, noauto, exec, utf8 0 0
/ dev / sdb1 / mnt / sdcard auto auto, użytkownik, rw, exec 0 0

Moja partycja na pendrive pokazuje się jako /dev/sdb1. Jestem prawie pewien, że moja fstabkonfiguracja jest OK, ale wydaje się, że wszyscy w innych postach nie wspominają, jak faktycznie wywołują mountpolecenie, gdy ten wpis znajduje się w pliku fstab. Myślę, że tutaj może być mój problem. Polecenie, którego używam do zamontowania napędu to:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountjest własnością root i należy do grupy root i ma 4755 uprawnień.
/bin/umountjest własnością root i należy do grupy root i ma 4755 uprawnień.
/mnt/sdcardjest własnością mnie i należy do jednej z moich grup i ma uprawnienia 0755.

Moje polecenie montowania działa dobrze, jeśli go używam sudo, ale muszę być w stanie to zrobić bez sudo(muszę to zrobić ze skryptu PHP przy użyciu shell_exec). Jakieś sugestie?

Travesty3
źródło
1
Proszę nie używać wyrażeń takich jak „tew interwebz”, to tylko rozprasza.
Georg Schölly,
9
Wolałbym raczej widzieć, że „interwebz” jest pełen humoru i osobowości, niż widzieć, jak ktoś używa „u”, „ur”, „any1” i tym podobnych z lenistwa i ignorancji. Chodzi mi o to, że istnieje różnica i jest widoczna na podstawie kontekstu.
Wstrzymano do odwołania.

Odpowiedzi:

17

Podczas montowania woluminu jako zwykły użytkownik wystarczy podać nazwę punktu podłączenia, tj .:

mount /mnt/sdcard

/etc/fstabPlik zapewnia urządzenie, które będzie używane.

Kevin Panko
źródło
2
Lub możesz zamontować urządzenie i fstabdostarczy punkt montażu.
Wstrzymano do odwołania.
AHA! Uznałem, że byłoby źle z moją składnią poleceń. Cieszę się, że to było coś prostego. Dzięki!!! Przyznanie odpowiedzi na ten post, ponieważ było to najbardziej bezpośrednie i opisowe rozwiązanie MOJEGO problemu, chociaż odpowiedź Dennisa również to sugerowała i rozwiązałaby problem.
Travesty3
7

Spróbuj zmienić własność /dev/sdb1roota:

chown root:root /dev/sdb1

i twoja fstablinia do

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

I zrób mounttak:

mount /dev/sdb1
Wstrzymano do odwołania.
źródło
Dzięki za odpowiedzi! Twoje rozwiązanie również rozwiązałoby problem, i mam nadzieję, że inni, którzy przeczytają ten post, będą mieli również inne sugestie. Dzięki jeszcze raz!
Travesty3
-1

Myślę, że opcja auto robi bałagan. Wymień go na noauto.

gogiel
źródło
zauważ, że to „auto” w „auto”, użytkownik, rw, exec ”, a nie samodzielne„ auto ”. samodzielne „auto” służy do wykrywania używanego systemu plików i powinno być w porządku.
szarlatan
nie, ten sam problem. zmieniłem to na powiedzieć / dev / sdb1 / mnt / sdcard auto noauto, użytkownik, rw, exec 0 0. nie jestem pewien, czy było to konieczne czy nie, ale ponieważ jest to serwer deweloperski i mogę, zrestartowałem komputer po modyfikacji plik fstab, bezskutecznie. dziękuję za sugestię, niech nadchodzą!
Travesty3