Linux-Laufwerksberechtigungen für die von zwei Systemen verwendete Festplatte

1196
Fred Hamilton

Ich habe ein großes mdadm-basiertes RAID5-Array, das ich mit einem Ubuntu 8.04-System verwendet habe. Ich richte ein neues 9.10 (Alpha 6) -System auf derselben Hardware ein. mdadm kann das Array automatisch finden und wieder zusammensetzen, aber wenn ich es mounte, möchte es mein Passwort ("Zum Mounten des Geräts ist eine Authentifizierung erforderlich"). Ich verwende den gleichen Benutzernamen für beide Systeme, aber ich schätze, dass Linux intelligent genug ist, um zu erkennen, dass der Benutzer "joeblow" von einem System nicht unbedingt dieselbe Person ist wie "joeblow" auf einem anderen System.

Was ist also der richtige Weg (im Vergleich zu chmod-Befehlen), um das Laufwerk beim Booten mit den gleichen Geräte- / Dateiberechtigungen usw. zu laden, die ich zuvor hatte? Ich möchte nur, dass es sich genauso verhält wie auf meinem alten System ...

2

2 Antworten auf die Frage

2
nagul

Dateibesitzungen basieren auf der Benutzer- ID und der Benutzer- ID des Benutzers, nicht auf dem Namen. Überprüfen Sie die UID und die GID der Dateien im Array. Wenn sie sich unterscheiden, können Sie den Besitz des neuen Benutzers mit dem folgenden Befehl ändern:

chown -R joeblow:joeblow /mount_point 

Wenn Sie jedoch, Sie gehen beide Systeme zu verwenden, empfehle ich Ihnen die uid und gid für den joeblow Benutzer auf beiden Systemen die Verwendung synchronisieren usermodund groupmodBefehle.

Klingt gut, aber ich habe ein bisschen über Usermod und Groupmod gelesen und eines ist nicht klar. Wenn ich die entsprechenden Uids / Gids im neuen System B an die Uids / Gids des alten Systems A anpasse, werden dann alle vorhandenen Assoziationen auf System B aufgehoben? Fred Hamilton vor 14 Jahren 0
@Fred Ja, Sie müssen auch auf System B eine ähnliche Einstellung vornehmen. Das sollte jedoch nicht zu schwierig sein. `find` unterstützt die Optionen -uid und -user, sodass Sie einen ähnlichen Befehl ausführen können, um alle diese Dateien zu identifizieren und zu ändern:` find / -uid old_uid -exec chown -R joeblow: joeblow {} \; `Zur Sicherheit Ich würde einfach den Befehl ausführen, um solche Dateien aufzulisten und die Liste zu überprüfen, bevor sie wirklich geändert werden. nagul vor 14 Jahren 1
Zur Klarstellung ist im obigen Kommentar `\;` Teil des Suchbefehls. nagul vor 14 Jahren 1
0
Johan

Wenn Sie Dateien wie / etc / passwd und / etc / group auf dem neuen und dem alten System vergleichen, haben uid und gid einen Unterschied?

Wenn Sie sicherstellen, dass der Joeblow immer 500 und 100 (oder ähnliches) ist, wird dies möglicherweise kein Problem sein.