UNIX - mount: das kann nur root

15

Ich muss einem Benutzer ohne Rootberechtigung erlauben, ein Gerät zu aktivieren / deaktivieren. Ich bin ein absoluter Neuling, wenn es um UNIX geht.

Ich habe das ganze Interwebz durchgesehen, um eine Antwort zu finden, und es scheint, dass jeder das gleiche gibt, das zu ändern ist /etc/fstab, um dieses Gerät mit der userOption einzuschließen (oder usersbeides zu versuchen). Ich habe das getan und es steht immer noch mount: only root can do that.

Hier ist der Inhalt meiner fstab:

# / etc / fstab: Informationen zum statischen Dateisystem.
#
# Verwenden Sie 'vol_id --uuid', um den universell eindeutigen Bezeichner für a zu drucken
# Gerät; Dies kann mit UUID = verwendet werden, um Geräte robuster zu benennen
# das funktioniert auch, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab (5).
#
#                
proc / proc proc ist standardmäßig 0 0
# / war während der Installation auf / dev / mapper / minicc-root
UUID = 1a69f02a-a049-4411-8c57-ff4ebd8bb933 / ext3 Relatime, Fehler = remount-ro 0 1
# / boot war während der Installation auf / dev / sda5
UUID = 038498fe-1267-44c4-8788-e1354d71faf5 / boot ext2 relatime 0 2
# swap war während der Installation auf / dev / mapper / minicc-swap_1
UUID = 0bb583aa-84a8-43ef-98c4-c6cb25d20715 keine sw sw 0 0 tauschen
/ dev / scd0 / media / cdrom0 udf, Benutzer iso9660, noauto, exec, utf8 0 0
/ dev / scd0 / media / floppy0 auto rw, benutzer, noauto, exec, utf8 0 0
/ dev / sdb1 / mnt / sdcard auto auto, user, rw, exec 0 0

Meine USB-Stick-Partition wird als angezeigt /dev/sdb1. Ich bin mir ziemlich sicher, dass meine fstabEinstellungen in Ordnung sind, aber jeder in den anderen Posts scheint nicht zu erwähnen, wie er den mountBefehl tatsächlich aufruft, sobald sich dieser Eintrag in der fstab-Datei befindet. Ich denke, hier könnte mein Problem liegen. Der Befehl zum Mounten des Laufwerks lautet:

$ mount /dev/sdb1 /mnt/sdcard

/bin/mountgehört root und gehört zur Root-Gruppe und hat 4755 Berechtigungen.
/bin/umountgehört root und gehört zur Root-Gruppe und hat 4755 Berechtigungen.
/mnt/sdcardgehört mir und ist in einer meiner Gruppen und hat 0755 Berechtigungen.

Mein mount-Befehl funktioniert gut, wenn ich ihn verwende sudo, aber ich muss dazu in der Lage sein, ohne ihn zu tun sudo(muss dazu in der Lage sein, von einem PHP-Skript aus zu arbeiten shell_exec). Irgendwelche Vorschläge?

Travestie3
quelle
1
Bitte verwenden Sie keine Ausdrücke wie "das Interwebz", das lenkt nur ab.
Georg Schölly
9
Ich würde "the interwebz" lieber mit Humor und Persönlichkeit bespritzt sehen, als jemanden zu sehen, der "u", "ur", "any1" und dergleichen aus Faulheit und Ignoranz benutzt. Mein Punkt ist, dass es einen Unterschied gibt und er sich aus dem Kontext ergibt.
Dennis Williamson

Antworten:

17

Wenn Sie als normaler Benutzer ein Volume bereitstellen, müssen Sie nur den Bereitstellungspunktnamen angeben, dh:

mount /mnt/sdcard

Die /etc/fstabDatei enthält das zu verwendende Gerät.

Kevin Panko
quelle
2
Oder Sie können das Gerät einbinden und fstabden Einhängepunkt bereitstellen.
Dennis Williamson
AHA! Ich dachte, es wäre etwas falsch mit meiner Befehlssyntax. Ich bin so froh, dass es etwas Einfaches war. Vielen Dank!!! Vergabe der Antwort auf diesen Beitrag, da dies die direkteste und aussagekräftigste Lösung für MEIN Problem war, obwohl Dennis 'Antwort dies ebenfalls nahelegte und das Problem auch gelöst hätte.
Travestie3
7

Versuchen Sie, den Besitz von /dev/sdb1zu root zu ändern :

chown root:root /dev/sdb1

und deine fstabLeitung zu

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

Und mache das mountso:

mount /dev/sdb1
Dennis Williamson
quelle
Danke für die Antwort! Ihre Lösung hätte auch das Problem gelöst, und hoffentlich helfen Ihnen auch Ihre anderen Vorschläge, wenn Sie diesen Beitrag lesen. Danke noch einmal!
Travestie3
-1

Ich denke, Auto-Option macht das Chaos. Ersetzen Sie es mit noauto.

Gogiel
quelle
Beachten Sie, dass dies das "auto" in "auto, user, rw, exec" und nicht das eigenständige "auto" ist. Das eigenständige "auto" dient zum Erkennen des zu verwendenden Dateisystems und sollte in Ordnung sein.
Quack Quijote
Nein, das gleiche Problem. änderte es zu / dev / sdb1 / mnt / sdcard auto noauto, benutzer, rw, exec 0 0. nicht sicher, ob es notwendig war oder nicht, aber da dies ein dev-server ist und ich kann, habe ich den computer nach dem modifizieren neu gestartet die fstab-Datei, ohne Erfolg. danke für den vorschlag tho, mach weiter so!
Travestie3