UNIX - mount: solo root può farlo


15

Devo consentire a un utente non root di montare / smontare un dispositivo. Sono un noob totale quando si tratta di UNIX, quindi per favore stupiscilo per me.

Ho cercato interwebz dappertutto per trovare una risposta e sembra che tutti stiano dando la stessa, che è di modificare /etc/fstabper includere quel dispositivo con l' useropzione (o users, ho provato entrambi). L'ho fatto e dice ancora mount: only root can do that.

Ecco i contenuti del mio fstab:

# / etc / fstab: informazioni sul file system statico.
#
# Usa 'vol_id --uuid' per stampare l'identificatore univoco universale per a
# dispositivo; questo può essere usato con UUID = come un modo più robusto per nominare i dispositivi
# che funziona anche se i dischi vengono aggiunti e rimossi. Vedi fstab (5).
#
#                
proc / proc proc default 0 0
# / era su / dev / mapper / minicc-root durante l'installazione
UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 relatime, errori = remount-ro 0 1
# / boot era su / dev / sda5 durante l'installazione
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relatime 0 2
# swap era su / dev / mapper / minicc-swap_1 durante l'installazione
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 nessuno swap sw 0 0
/ dev / scd0 / media / cdrom0 udf, utente iso9660, noauto, exec, utf8 0 0
/ dev / scd0 / media / floppy0 auto rw, utente, noauto, exec, utf8 0 0
/ dev / sdb1 / mnt / sdcard auto auto, user, rw, exec 0 0

La mia partizione pen drive si presenta come /dev/sdb1. Sono abbastanza sicuro che il mio fstabsia impostato su OK, ma tutti gli altri post sembrano non menzionare come effettivamente chiamano il mountcomando una volta che questa voce è nel file fstab. Penso che questo sia il mio problema. Il comando che uso per montare l'unità è:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountè di proprietà di root ed è nel gruppo root e ha 4755 autorizzazioni.
/bin/umountè di proprietà di root ed è nel gruppo root e ha 4755 autorizzazioni.
/mnt/sdcardè di mia proprietà, appartiene a uno dei miei gruppi e ha autorizzazioni 0755.

Il mio comando mount funziona bene se lo uso sudo, ma devo essere in grado di farlo senza sudo( devo essere in grado di farlo da uno script PHP usando shell_exec). Eventuali suggerimenti?


1
Per favore, non usare espressioni come "teh interwebz", questo è solo fonte di distrazione.
Georg Schölly,

9
Preferirei di gran lunga vedere "il interwebz" iniettato di umorismo e personalità piuttosto che vedere qualcuno che usa "u", "ur", "any1" e simili per pigrizia e ignoranza. Il mio punto è che c'è una differenza ed è evidente in base al contesto.
In pausa fino a nuovo avviso.

Risposte:


17

Quando si monta un volume come utente normale, è necessario fornire solo il nome del punto di montaggio, ovvero:

mount /mnt/sdcard

Il /etc/fstabfile fornisce il dispositivo che verrà utilizzato.


2
Oppure puoi montare il dispositivo e fstabfornirà il punto di montaggio.
In pausa fino a nuovo avviso.

AHA! Ho pensato che sarebbe stato qualcosa di sbagliato nella mia sintassi dei comandi. Sono contento che sia stato qualcosa di semplice. Grazie!!! Assegnare la risposta a questo post in quanto è stata la soluzione più diretta e descrittiva al MIO problema, sebbene la risposta di Dennis abbia anche suggerito questo e avrebbe risolto il problema.
Travesty3,

7

Prova a cambiare la proprietà di /dev/sdb1root:

chown root:root /dev/sdb1

e la tua fstablinea a

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

E fai mountcosì:

mount /dev/sdb1

Grazie per la risposta! La tua soluzione avrebbe anche risolto il problema, e si spera che anche altri utenti che leggono questo post saranno aiutati dai tuoi altri suggerimenti. Grazie ancora!
Travesty3,

-1

Penso che l'opzione automatica faccia casino. Sostituiscilo con noauto.


nota che è "auto" in "auto, user, rw, exec", non il "auto" autonomo. la "auto" standalone serve a rilevare il filesystem da usare e dovrebbe andare bene.
Quack Quixote,

no, stesso problema. cambiato per dire / dev / sdb1 / mnt / sdcard auto noauto, user, rw, exec 0 0. non sono sicuro che fosse necessario o no, ma dato che si tratta di un server dev e posso, ho riavviato il computer dopo aver modificato il file fstab, inutilmente. grazie per il suggerimento, continuate a venire!
Travesty3,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.