Berechtigung / Besitz / Gruppe der externen Festplatte unter Ubuntu kann nicht geändert werden

12

Ich habe eine externe Festplatte an meine Linux-Box angeschlossen. Ich wollte einen Webserver einrichten, um auf Dateien darauf zuzugreifen, aber die Berechtigung für alle Dateien und Verzeichnisse auf dem Laufwerk gilt rwxfür den Eigentümer, der mein lokales Login ist, und die Gruppe ist die rootGruppe.

Ich brauche die Dateien, die vom Apache-Benutzer gelesen werden können. Ich habe versucht, alle Dateien so einzustellen chmod a+rwx -R *, aber das macht nichts (gibt keine Fehler, hat nur keine Auswirkung.) Ich habe versucht, die Gruppe mit chgrpin meine Benutzergruppe zu ändern , aber das wird auch nicht funktionieren, es gibt mir Fehler, dass mir die Berechtigung fehlt, selbst wenn ich all diese Befehle als ausführe sudo!

Was ist mit dieser Festplatte los ??? sudo chmod a+rwx *sollte an irgendetwas arbeiten, oder?

MikeN
quelle

Antworten:

19

Überprüfen Sie den zuerst verwendeten Dateisystemtyp mit df -T:

sys @ p: ~ $ df -T
Dateisystemtyp 1K-Blöcke Verwendet Verfügbar Verwenden% Bereitgestellt am
ext3 ext3 19222656 1050948 17195164 6% /
tmpfs tmpfs 1684988 0 1684988 0% / lib / init / rw
udev tmpfs 10240 64 10176 1% / dev
tmpfs tmpfs 1684988 0 1684988 0% / dev / shm

Wenn es /mnt/externalzum Beispiel montiert ist, sehen Sie das in der rechten Spalte. Sie können den Dateisystemtyp in der zweiten Spalte sehen. Wenn es sich um NTFS handelt, benötigen Sie NTFS-3G (wahrscheinlich bereits installiert, wenn nicht, sudo apt-get install ntfs-configdann gksu ntfs-config). Linux bietet bereits FAT-Unterstützung für Lesen und Schreiben, obwohl keine Berechtigungen unterstützt werden .

Wenn Sie eine NTFS-Partition bereitstellen möchten, deren Besitz auf einen bestimmten Benutzer / eine bestimmte Gruppe angewendet wird, geben Sie dies in den Bereitstellungsschaltern an:

mount -o uid = Benutzername, gid = Gruppenname / dev / sdc / path / to / mount

Wenn Sie wie oben vorgeschlagen zu ext3 wechseln, können Sie Folgendes verwenden chown:

chown -R user *
chown -R user .
John T.
quelle
4

Wie Kim sagte, erhalten Sie nur Unix-Berechtigungen und -Eigentum für ein Unix-Dateisystem. ext3 ist ein guter Kandidat.

Wenn Sie dieses Laufwerk ohne Neuformatierung verwenden müssen, können Sie dies mit Optionen für den mountBefehl tun , die die Eigentümer-, Gruppen- und / oder Lese- / Schreibberechtigungen angeben. Diese Optionen wirken sich auf alle Dateien auf dem Laufwerk aus (Informationen zum Ermitteln des FSTYPE finden Sie in der Antwort von John T):

# list files as owned by X, use numerical UID as found in /etc/passwd
$ mount -t <FSTYPE> -o uid=X /dev/?? /path/to/mount/point

# list files as owned by group Y, use numerical GID found in /etc/passwd
$ mount -t <FSTYPE> -o gid=Y /dev/?? /path/to/mount/point

# list files as accessible per umask 
#   (022 gives rwx permissions to owner, r-x permissions to everyone else)
$ mount -t <FSTYPE> -o umask=022 /dev/?? /path/to/mount/point

# combine all of the above:
$ mount -t <FSTYPE> -o uid=X,gid=Y,umask=022 /dev/?? /path/to/mount/point
Quacksalber
quelle
2

Ich habe das gemacht und es hat funktioniert:

sudo umount /dev/sda3 /media/windows1
sudo umount /dev/sda5 /media/windows2

und dann

sudo mount -o rwx /dev/sda3 /media/windows1
sudo mount -o rwx /dev/sda5 /media/windows2

Beachten Sie, dass ich bin mit Ubuntu 11.10 und sda3bin mein Windows C:, sda5ist G:.

Arvash
quelle
2

Ich hatte also etwas Zeit, da ich Backups von mehreren Computern auf demselben Laufwerk hatte. Ich musste hdfsplus-Dienstprogramme (hfsprogs) installieren, dann das Laufwerk bereitstellen und schließlich den Besitz der relevanten Ordner unter Verwendung des Benutzer- und Gruppennamens ändern.

Hinweis: Sie können die Einhängepunkte und Geräte auflisten, indem Sie einfach mountam Terminal tippen.

Zuerst:

sudo apt-get install hfsprogs

Hängen Sie dann Ihr Laufwerk aus, wenn es bereits bereitgestellt wurde:

sudo umount /media/user/mount_point

(Re) Mounten Sie das Laufwerk mit den folgenden Argumenten:

sudo mount -t hfsplus -o force,rw /dev/sdb# /media/user/mount_point

Navigieren Sie zu dem Verzeichnis mit den Problemordnern. Dann mach:

chmod -R your_user_group:your_user_name ./target_directory

Ich hoffe, das hilft.

Gopherkhan
quelle
Dies ist die einzige Lösung, die für mich funktioniert hat. Versuchte alle anderen. Vielen Dank!
SolStack
1

Es ist wahrscheinlich als FAT formatiert, das keine Dateiberechtigungen unterstützt. Verwenden Sie stattdessen ext3.

Kim
quelle