UNIX - mount: Das kann nur root

20763
Travesty3

Ich muss einem Benutzer ohne Rootberechtigung erlauben, ein Gerät ein- oder auszuhängen. Ich bin ein absoluter Noob, wenn es um UNIX geht.

Ich habe überall im Interwebz nach einer Antwort gesucht und es scheint, dass jeder dasselbe gibt, nämlich das /etc/fstabGerät zu modifizieren, um dieses Gerät mit der userOption aufzunehmen (oder usersbeides versucht). Ich habe das getan und es sagt immer noch mount: only root can do that.

Hier sind die Inhalte meiner Fstab:

# / etc / fstab: statische Dateisysteminformationen. # # Verwenden Sie 'vol_id --uuid', um den universell eindeutigen Bezeichner für a zu drucken # Gerät; Dies kann mit UUID = als robustere Methode zum Benennen von Geräten verwendet werden # 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 Kein Swap-Swap 0 0 / dev / scd0 / media / cdrom0 udf, iso9660-Benutzer, noauto, exec, utf8 0 0 / dev / scd0 / media / floppy0 auto rw, benutzer, noauto, exec, utf8 0 0 / dev / sdb1 / mnt / sdcard auto auto, benutzer, rw, exec 0 0 

Meine USB-Stick-Partition wird als angezeigt /dev/sdb1. Ich bin mir ziemlich sicher, dass meine fstabEinrichtung in Ordnung ist, aber alle anderen Beiträge scheinen nicht zu erwähnen, wie sie den mountBefehl tatsächlich aufrufen, sobald sich dieser Eintrag in der fstab-Datei befindet. Ich denke, hier liegt mein Problem. Der Befehl, den ich zum Einhängen des Laufwerks verwende, lautet:

$ mount /dev/sdb1 /mnt/sdcard 

/bin/mountgehört root und befindet sich in der Root-Gruppe und hat 4755 Berechtigungen.
/bin/umountgehört root und befindet sich in der Root-Gruppe und hat 4755 Berechtigungen.
/mnt/sdcardist in meinem Besitz und gehört zu einer meiner Gruppen und hat 0755 Berechtigungen.

Mein mount-Befehl funktioniert gut, wenn ich ihn benutze sudo, aber ich muss dies ohne machen können sudo(muss es von einem PHP-Skript aus machen können shell_exec). Irgendwelche Vorschläge?

15
Verwenden Sie keine Ausdrücke wie "the interwebz", das lenkt nur ab. Georg Schölly vor 14 Jahren 1
Ich würde viel lieber "das interwebz" sehen, das mit Humor und Persönlichkeit bespritzt wird, als jemanden, der "U", "ur", "any1" und dergleichen verwendet, aus Faulheit und Ignoranz. Mein Punkt ist, dass es einen Unterschied gibt und der Kontext ist offensichtlich. Dennis Williamson vor 14 Jahren 9

3 Antworten auf die Frage

17
Kevin Panko

Beim Mounten eines Volumes als normaler Benutzer müssen Sie nur den Namen des Mountpunkts angeben, dh:

mount /mnt/sdcard 

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

Oder Sie können das Gerät einbinden und `fstab` liefert den Einhängepunkt. Dennis Williamson vor 14 Jahren 2
AHA! Ich dachte, es wäre etwas falsch mit meiner Befehlssyntax. SO froh, dass es etwas einfaches war. Vielen Dank!!! Die Antwort auf diesen Beitrag zu vergeben, da dies die direkteste und deskriptivste Lösung für MEIN Problem war, obwohl Dennis 'Antwort dies auch andeutete und auch das Problem gelöst hätte. Travesty3 vor 14 Jahren 0
7
Dennis Williamson

Versuchen Sie, den Besitzer von /dev/sdb1root zu ändern :

chown root:root /dev/sdb1 

und deine fstabLeitung zu

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

Und mach das mountso:

mount /dev/sdb1 
Danke für die Antwort! Ihre Lösung hätte auch das Problem gelöst, und hoffentlich helfen andere, die diesen Beitrag lesen, auch durch Ihre anderen Vorschläge. Danke noch einmal! Travesty3 vor 14 Jahren 0
-1
gogiel

Ich denke, Auto Option macht das Durcheinander. Ersetzen Sie es mit Nein.

Beachten Sie, dass dies "auto" in "auto", "user", "rw", "exec" ist, nicht das eigenständige "auto". Das eigenständige "auto" dient zum Erkennen des zu verwendenden Dateisystems und sollte in Ordnung sein. quack quixote vor 14 Jahren 0
Nein, dasselbe Problem. änderte es in / dev / sdb1 / mnt / sdcard auto noauto, user, 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 Ändern neu gestartet die Fstab-Datei, ohne Erfolg. Vielen Dank für den Vorschlag, weiter so! Travesty3 vor 14 Jahren 0