Zoner
Anmeldungsdatum: 30. August 2019
Beiträge: 121
|
Ich kenne mich leider mit den Nutzerrechten zu wenig aus und habe aktuell Konflikte mit meinen vielen Wechselmedien. (bzw. hab es über die Jahre versäumt mir dahingehend einen Standard aufzubauen) Die Wechselmedien sind unterschiedlich (SSD, SD, HDD etc.) genauso die Rechner (Desktop, Laptop, Einplatinencomputer, mit unterschiedlichen Betriebsystemen, alle Linux (Debian KDE, Ubuntu, Kubuntu, TuxedoOS) und alle Rechner und Wechselmedien sind mit LUKS vollverschlüsselt. Ich habe das Problem, wenn ich meine Wechselmedien von Rechner1 an Rechner2 oder 3 anschließe, kann ich dort die Daten normal bearbeiten an Rechner4 aber weder auslesen, noch modifizieren, weil dort die Rechte fehlen (aufgrund anderer User- und Gruppenname z.B.). Auf 2 Wechselmedien habe ich die Rechte auf Rechner4 geändert (User und Gruppe geändert), sodass ich dort damit arbeiten kann. Allerdings fehlen diese Rechte dadurch dann wieder auf den anderen Rechnern. Jetzt habe ich mehrere Fragen: Auf Rechner4 sind die Gruppen und Usernamen andere und daher darf dieser die Daten nicht anrühren.
Wie stelle ich jetzt maximale Kompatibilität zwischen den Rechnern und den mobilen Speichern her? Erstelle ich einfach auf allen Rechnern die selben User- oder Gruppennamen? (und ändere entsprechend die Zugehörigkeit der Daten auf den Speichern) Reicht es dass die (User-/Gruppen-)Namen auf den Rechnern identisch sind oder werkeln im Hintergrund irgendwelche einmaligen ID's die trotz identischem Namen nicht übereinstimmen würden? In der Wiki steht, in Wirklichkeit wird eine UID und GID erstellt, aus denen der lesbare Name hergeleitet wird. Wenn das in beide Richtungen gleich funktioniert, wird aber bei selben vergebenen Namen, auch immer die selbe UID erzeugt, sodass mich diese nicht weiter interessiert? Ich fänd es einwenig merkwürdig, wenn im Rechtesystem nur auf Namen geschaut wird. Wenn sich zwei User auf verschiedenen Rechnern einfach simpel "Klaus" nennen, hätten beide, würden sie sich zufällig begegnen, die Rechte an den Daten des jeweils anderen? Obwohl die Daten auf verschiedenen Rechnern entstanden sind? Ist das System wirklich so simpel? Ich bin mir auch noch unschlüssig wie ich nun meine Rechte genau einsetzen soll. Soll ich mir auf jedem Rechner den selben Usernamen vergeben, weil ja auch all diese Daten meine sind, oder soll ich jedem Rechner einen eigenen Usernamen verpassen und stattdessen alle derselben Gruppe zufügen, so dass die Daten quasi "dem jeweiligen Rechner gehören", nicht "direkt mir", so dass ich im Nachhinein erkennen kann, auf welchem System die Daten ursprünglich entstanden sind (was für mich eine nützliche Info wäre).
Umgekehrt: auf jedem Rechner der selbe User aber Rechner bezogen unterschiedliche Gruppen, macht für mich weniger Sinn (oder wäre das sinniger?). Überall der selber User und selbe Gruppe wäre so, als gäbe es nur einen einzigen Rechner und für mich wäre nicht mehr nachvollziehbar, wo welche Daten entstanden (was ja meist auch eigentlich unwichtig ist).
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4445
Wohnort: Göttingen
|
Wenn Du keine speziellen Daten auf den Wechseldatenträgern hast, wo wirklich nur bestimmte Benutzer drauf zugreifen sollen, könntest Du die Daten einfach allgemein lesbar machen, siehe chmod:
Hiermit machst Du alle Daten für alle les- und schreibbar. Mit der zweiten Anweisung sorgst Du dafür, dass auch alle in alle Verzeichnisse wechseln dürfen chmod -R a+rw /media/Einhaengepunkt/der/externen/Platte
chmod -R a+X /media/Einhaengepunkt/der/externen/Platte Übrigens kommt es bei den Rechten nicht auf den Benutzer-/Gruppennamen an, sondern auf die Benutzer-/Gruppen-ID. Du solltest am besten beim einrichten mehrerer Rechner darauf achten, dass diese einheitlich sind. Vielleicht hilft Dir auch der Artikel Rechte
|
Dakuan
Anmeldungsdatum: 2. November 2004
Beiträge: 6468
Wohnort: Hamburg
|
Erstelle ich einfach auf allen Rechnern die selben User- oder Gruppennamen?
Namen sind Schall und Rauch. Im Dateisystem werden nur Benutzer-ID und Gruppen-ID gespeichert. Diese Nummern müssen übereinstimmen. Bei den meisten Linux Systemen beginnen diese mit 1000 und werden normalerweise in der Reihenfolge der Benutzereinrichtungen hochgezählt. (Ich habe allerdings auch schon Systeme gesehen, die mit 500 oder 2000 beginnen.) Wichtig ist also, in welcher Reihenfolge die Benutzer angelegt werden. Die Zuordnung der ID zu den Namen findest du in /etc/passwd. Abfragen kann der Benutzer seine ID mit dem Kommando:
id
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4445
Wohnort: Göttingen
|
Wenn Du wirklich nachvollziehen können möchtest, wer was auf welchem Rechner erzeugt hat, müsstest Du den Benutzern auf jedem Rechner unterschiedliche IDs vergeben. Normalerweise möchte man eher das Gegenteil, nämlich, dass ein Benutzer auf allen Rechner die gleiche Benutzer-ID hat.
|
Zoner
(Themenstarter)
Anmeldungsdatum: 30. August 2019
Beiträge: 121
|
Dann vermute ich schonmal wo der Fehler liegt. Ich nutze auf meinen Rechnern entweder nur das reine Debian oder Ubuntu-Derivate. Auf Debian gibt es zwei User: Root (immer "0" bzw. 1000) und den User (dann nachfolgend "1"). Auf Ubuntu gibts keinen Root als Nutzer und daher beginnt dort wol der Erste User mit "0". Dann wird der Konflikt wol daher kommen, dass manche Datenträger den User 1000 als Eigentümer haben (Ubuntu) und andere 1001 (Debian) ? Ich habe auf allen Rechnern nur einen User angelegt (abgesehen von Root auf Debian). Dakuan schrieb: ...
Bei den meisten Linux Systemen beginnen diese mit 1000 und werden normalerweise in der Reihenfolge der Benutzereinrichtungen hochgezählt. (Ich habe allerdings auch schon Systeme gesehen, die mit 500 oder 2000 beginnen.) Wichtig ist also, in welcher Reihenfolge die Benutzer angelegt werden. Die Zuordnung der ID zu den Namen findest du in /etc/passwd.
Nur zum Verständniss: Das mit den Zahlen ist dann ja noch simpler als mit den Namen und diese Art Rechteverwaltung macht dann nur innerhalb eines Rechnersystems Sinn? Also sprich: wenn hundert Menschen sich auf jeweils ihren eigenen Rechnern Ubuntu installieren und alle bei sich nur einen User anlegen, dann haben alle die selben Rechte an allen Dateien, weil ja alle von denen die gleiche User-ID "1000" haben? Und der Name den sie vergeben und die Rechnerzugehörigkeit wurscht sind? Verstehe ich das so richtig? Können User-ID und Gruppen ID, die selbe Nummer haben? z.B. beide 1000? In der Wiki gibt es ein Beispiel, wo beide ID's identisch sind. Die IDs sind dann aber dennoch eigenständig? Also wenn jemand der Gruppe 1000 zugewiesen ist, hat er dadurch nicht zwangsläufig die Rechte von Nutzer 1000? Ich habe auf allen Rechnern nur einen Nutzer angelegt. Bedeutet, will ich den bearbeiten, müsste ich den Rechner mit einem Livesystem booten, da ich den "aktiven Nutzer" ja nicht bearbeiten kann. Kann ich nicht einfach Systemweit alles in eine Gruppe stecken und dadurch die Daten für alle Rechner gleich berechtigen? Doc_Symbiosis schrieb: Wenn Du keine speziellen Daten auf den Wechseldatenträgern hast, wo wirklich nur bestimmte Benutzer drauf zugreifen sollen, könntest Du die Daten einfach allgemein lesbar machen, siehe chmod:
Hiermit machst Du alle Daten für alle les- und schreibbar. Mit der zweiten Anweisung sorgst Du dafür, dass auch alle in alle Verzeichnisse wechseln dürfen
Die Daten für "Alles und Jeden" freigeben möchte ich nicht, da darunter viele sensible Daten sind. Es bleibt zwar alles innerhalb meines Rechnerparks aber ich möchte keine unnötige, zusätzliche Angriffsfläche aufmachen. Ich würde mich tatsächlich auch eine ganze Woche lang damit intensiv beschäftigen, wenn es sein muss, alles gerade zu biegen und für die Zukunft auf einen vernünftigen Stand zu bringen und gleich ein vernünftiges System anzuwenden. Nach aktuellem Verständiss würde ich systemweit z.B. immer mindestens den User "1001" statt "1000" verwenden, damit es nicht zu einem Konflikt beim Datenwechsel zwischen Ubuntu und Debian mit dem Root-User 1000 auf Debian kommt. Doc_Symbiosis schrieb: Wenn Du wirklich nachvollziehen können möchtest, wer was auf welchem Rechner erzeugt hat, müsstest Du den Benutzern auf jedem Rechner unterschiedliche IDs vergeben. Normalerweise möchte man eher das Gegenteil, nämlich, dass ein Benutzer auf allen Rechner die gleiche Benutzer-ID hat.
Das klingt selbstverständlich logisch. Vor allem in einem Firmennetzwerk. Da ich mich aber in diesem Fall in meinem eigenen Ökosystem befinde und es nur mich als einzigen User gibt (und dieses auch dauerhaft geschlossen bleibt), wäre für mich die Trennung zwischen den Rechnern sinvoll. Vor allem weil das Sicherheitslevel zwischen den Rechnern unterschiedlich ist, würde es Sinn machen, wenn ich nachträglich einen Rechner z.B. die Schreibrechte der Daten auf den Wechseldatenträgern entziehen könnte, andere aber weiter schreiben dürfen.
|
Dakuan
Anmeldungsdatum: 2. November 2004
Beiträge: 6468
Wohnort: Hamburg
|
Auf Ubuntu gibts keinen Root als Nutzer und daher beginnt dort wol der Erste User mit "0".
Den Benutzer 0=root gibt es auch bei Ubuntu! Ihm ist normalerweise nur kein Kennwort zugewiesen, weshalb sich erstmal niemand mit diesem Account anmelden kann.
Dann wird der Konflikt wol daher kommen, dass manche Datenträger den User 1000 als Eigentümer haben (Ubuntu) und andere 1001 (Debian) ?
Debian und Ubuntu verhalten sich da völlig gleich. Der erste eingerichtete Benutzer hat immer die ID 1000, der Zweite 1001 u.s.w. Wenn der einzige aktive Benutzer die ID 1001 hat, dann wurde irgendwann der erste Benutzer gelöscht oder bei der Einrichtung wurde getrickst.
Also sprich: wenn hundert Menschen sich auf jeweils ihren eigenen Rechnern Ubuntu installieren und alle bei sich nur einen User anlegen, dann haben alle die selben Rechte an allen Dateien, weil ja alle von denen die gleiche User-ID "1000" haben? Und der Name den sie vergeben und die Rechnerzugehörigkeit wurscht sind? Verstehe ich das so richtig?
Fast. Es handelt sich dabei ja um unterschiedliche Rechner. Wenn der Benutzer eines anderen Rechners darauf zugreifen will, muss er sich an deinem Rechner irgendwie anmelden. Oder er baut dir die Platte aus.
Können User-ID und Gruppen ID, die selbe Nummer haben?
Das ist der Normalfall.
Ich habe auf allen Rechnern nur einen Nutzer angelegt. Bedeutet, will ich den bearbeiten, müsste ich den Rechner mit einem Livesystem booten, da ich den "aktiven Nutzer" ja nicht bearbeiten kann.
Du könntest auch einen zweiten Benutzer anlegen. Den müsstest du dann allerdings so konfigurieren, dass er sudo ausführen darf.
Die Daten für "Alles und Jeden" freigeben möchte ich nicht, da darunter viele sensible Daten sind.
Dann musst du die betreffende(n) Platte(n) verschlüsseln. Die Benutzernamen bringen da nichts. Jeder der an die Platte rann kann, kann sonst alles lesen. Notfalls macht er sich zum Systemverwalter. Etwas anderes machst du mit einem Livesystem auch nicht.
|
Zoner
(Themenstarter)
Anmeldungsdatum: 30. August 2019
Beiträge: 121
|
Vielen Dank, hab heute einiges zu dem Thema gelernt. Habe es vorhin in der Wiki (diesmal genauer hingeschaut) und auf anderen Seiten auch gelesen, dass Root immer "0" ist und nicht 1000. Und das auch durch selbst ausprobieren heraus gefunden. Unter anderem auch, dass die Nummern bis 500 für Systemprozesse reserviert sind und manche Betriebsysteme sicherheitshalber bei 1000 beginnen, falls auch die 500 nicht ausreichen. Das hat mir geholfen, zu verstehen, warum die Nutzer-Nummern mit 1000 beginnen, bzw. wie diese überhaupt gehandhabt werden. Zuvor habe ich zugegebenermaßen etwas Rätselraten betrieben mit den Nummern (warum die Rechte bei mir an manchen Rechnern funktionieren und an anderen nicht). Jetzt habe ich aber Zeit gehabt das alles praktisch nochmal nachzuprüfen. Da ich auf allen Rechnern (sauber) nur einen Nutzer angemeldet habe, sind sämtliche UIDs auf 1000 (zumindest auf sämtlichen Datenträgern die ich bisher geprüft habe). Daher hatte ich bisher zwischen den Rechnern auch keine Schwierigkeiten. Nun habe ich aber ein neues System (Laptop) im Einsatz wo ich ausnahmsweise (eigentlich erstmal nur zum testen) ein vorinstalliertes (und auf meinen Wunsch bereits verschlüsseltes), stark modifiziertes Ubuntu drauf laufen habe, wo meine angelegte UID und GID aber nicht nur anders sondern sogar 5 stellig ist (obwohl im speziellen OS-Installer neben dem Austausch des LUKS-Kennwortes auch der User von mir angelegt wurde aber der Installer hat da wol seine eigenen Routinen). Daher der Konflikt. Ich werde jetzt erstmal eine neue Gruppe erstellen und auf die Wechseldatenträger anwenden, damit diese auf allen Rechnern bearbeitet werden können. Dakuan schrieb: Also sprich: wenn hundert Menschen sich auf jeweils ihren eigenen Rechnern Ubuntu installieren und alle bei sich nur einen User anlegen, dann haben alle die selben Rechte an allen Dateien, weil ja alle von denen die gleiche User-ID "1000" haben? Und der Name den sie vergeben und die Rechnerzugehörigkeit wurscht sind? Verstehe ich das so richtig?
Fast. Es handelt sich dabei ja um unterschiedliche Rechner. Wenn der Benutzer eines anderen Rechners darauf zugreifen will, muss er sich an deinem Rechner irgendwie anmelden. Oder er baut dir die Platte aus.
Es geht tatsächlich ausschließlich um die Wechseldatenträger, nicht um die internen Platten.
Die Daten für "Alles und Jeden" freigeben möchte ich nicht, da darunter viele sensible Daten sind.
Dann musst du die betreffende(n) Platte(n) verschlüsseln. Die Benutzernamen bringen da nichts. Jeder der an die Platte rann kann, kann sonst alles lesen. Notfalls macht er sich zum Systemverwalter. Etwas anderes machst du mit einem Livesystem auch nicht.
Dann habe ich das System jetzt verstanden. Es dient in erster Linie der Sicherheit bzw. Rechtevergabe innerhalb des laufenden Systems. Verschlüsselt sind meine Wechselmedien ohnehin. Wenn ich aber mit ihnen gerade arbeite und diese entschlüsselt sind, würde es eventuelle Hacker oder schlichtweg "verrückt spielende" Programme dennoch zumindest potentiell erschweren oder verunmöglichen, mit den Daten Schindluder zu betreiben, wenn die Rechte nach "rwxrwx-–" gestaltet sind als wenn ich faul einfach global "rwxrwxrwx" auf meine Wechselmedien anwenden würde. Damit ist mein Problem auch erstmal gelöst (sofern mir jetzt im laufenden Umstellungsprozess keine weiteren Fragen kommen). Eine Frage habe ich aber noch: in meiner /etc/login.defs auf dem betreffenden System steht "UID_MAX 60000".
In der Wiki ist der übliche Max Wert leider nicht aufgeführt. Wie ist dieser bei Ubuntu oder generel Linux normalerweise festegelegt? Ich kann leider gerade nicht auf meine anderen Rechner zugreifen, um es dort zu prüfen.
Nur damit ich weiß, ob ich regulär mit 5 stelligen IDs arbeiten kann oder ich besser, z.b im vierstelligen Bereich bleiben sollte.
|
Dakuan
Anmeldungsdatum: 2. November 2004
Beiträge: 6468
Wohnort: Hamburg
|
Wenn du generell nicht willst, dass irgendwer normal auf die Daten zugreifen darf, solltest du für Verzeichnisse "rwx-––-" (700) und für Dateien "rw-–––" (600) einstellen es sei denn du willst mit Gruppen arbeiten.
Eine Frage habe ich aber noch: in meiner /etc/login.defs auf dem betreffenden System steht "UID_MAX 60000".
Du kannst Fragen stellen. Das ist bestimmt irgendwo in SUSv3 (Single Unix Specification) festgelegt. Auf die Schnelle habe ich aber nur login.defs gefunden (letztes Drittel). ...
UID_MAX (number), UID_MIN (number)
Range of user IDs used for the creation of regular users by
useradd or newusers.
The default value for UID_MIN (resp. UID_MAX) is 1000 (resp.
60000).
...
Edit: - Tippfehler
|
Zoner
(Themenstarter)
Anmeldungsdatum: 30. August 2019
Beiträge: 121
|
Das mit den MinMax Werten hat sich durch Recherche geklärt (war eigentlich eine dumme Frage von mir. Aber zum "X" von chmod haben sich wichtige Fragen aufgetan. Die Executable Option habe ich nämlich noch nicht ganz verstanden. Diese benötige ich doch nur für ausführbare Dateien, wie Programme, oder selbstgeschriebene Scripte (die ich eh von Hand executable mache). Also (wenn ich nach dem KISS-Prinzip arbeite und alles so simpel und sicher wie möglich halten möchte) wäre die beste Option (für mich) "chmod 660" (rw-rw-–-)? Und wenn ich (selten) was executable machen möchte, mache ich das dann von Hand.
Oder habe ich einen Denkfehler? Wozu brauchen Ordner die Executable Option? Oder bedeutet das nur, dass alle Daten in diesem Ordner dann executable sind, ohne selbst dieses Attribut zu besitzen? Oder sind die nur mit X-Atribut executable, wenn auch zusätzlich der Ordner dieses Attribut hat? Und was mich auch irritiert ist die unterschiedliche Anwendungsweise von "chmod", welche beide ihre vor und Nachteile zu haben scheinen: | chmod -R u=rwX,g=rwX,o= /ordner
|
Wäre denke ich die Schreibweise für "rw-rw-–-" für Dateien und "rwxrwx-–" für Ordner?
| chmod -R u=rwx,g=rwx,o= /ordner
|
Wäre "rwxrwx-–" für Ordner und Dateien? (was in der Wiki nicht beschrieben wird, dort steht nur das große X, was mich erst irritierte)
Haut immer "rwxrwx-–" für alles raus? Das heißt, will ich "X" nur für Ordner definieren aber nicht für Dateien, kann ich die einfacherere Oktalvariante garnicht verwenden? Also zumindest nicht recursiv. (wobei sich mir wie gesagt noch nicht erschließt wozu Ordner das Atribut überhaupt brauchen) Oder habe ich da was nicht verstanden?
|
Doc_Symbiosis
Anmeldungsdatum: 11. Oktober 2006
Beiträge: 4445
Wohnort: Göttingen
|
Bei Verzeichnissen benötigst Du einfach das executable, damit Du in den Ordner wechseln kannst. Daher hatte ich in meinem Beispiel auch dieses gebracht:
chmod -R a+X Das große X sorgt dafür, dass Verzeichnissen das executable verpasst wird, aber nicht Dateien...
Und ja, mit der Oktalvariante funktioniert das so nicht.
|
Zoner
(Themenstarter)
Anmeldungsdatum: 30. August 2019
Beiträge: 121
|
Okey, ich habe Ordner datentechnisch bisher immer als "minderwertig" betrachtet, quasi wie eine schnöde Verknüpfung, die nur die Übersichtlichkeit für Menschen wahren soll. So klingen die eher wie abgesperrte Türen die mit dem "Executable" Atribut quasi aufgeschlossen werden müssen? Werde mal versuchen ob ich tiefere Infos zur Funktionsweise von Ordnern finde, da scheint ja auch mehr hinter zu stecken als ich bisher dachte. Dann hab ich nur noch eine Frage: Ich habe eine neue Gruppe auf meinem Rechner erstellt, diese meinem User hinzugefügt und anschließend zur Standardgruppe gemacht (weil ich langfristig ohnehin mehr mit Gruppen arbeiten möchte):
| sudo addgroup neuegruppe --gid 1234
sudo usermod -aG neuegruppe username
sudo usermod -g neuegruppe username
"reboot now"
|
Nun ist mir aber aufgefallen, dass dadurch die alte Standardgruppe komplett verschwunden ist (ersetzt wurde). Ebenso sind die Rechte sämtlicher Dateien auf dem Rechner von der alten auf die neue Gruppe umgeschrieben worden (zumindest soweit ich das bisher feststellen konnte). Quasi als hätte ich die vorhandene Standardgruppe nur umbenannt und die GID geändert. Eigentlich habe ich gedacht, dass die alte Gruppe bestehen bleibt und die neue hinzugefügt wird (bezogen auf den User, alle Daten behalten ihre alten Gruppen). Auf den Wechseldatenträgern existiert die alte Gruppe hingegen noch (logischerweise). Das ist ausnahmsweise nicht so schlimm. Wie müsste ich aber vorgehen, damit der User die alte Gruppe behält (und alle Dateien die alte Gruppenzugehörigkeit behalten und nur neu erstelle Daten die neue Standardgruppe zugewiesen bekommen)?
|
Dakuan
Anmeldungsdatum: 2. November 2004
Beiträge: 6468
Wohnort: Hamburg
|
Eine Datei hat immer einen Eigentümer und eine Gruppenzugehörigkeit. Ob es zu der Gruppe auch einen Benutzer geben muss, weiß ich jetzt aber nicht. Aber ein Benutzer kann vielen Gruppen angehören.
Okey, ich habe Ordner datentechnisch bisher immer als "minderwertig" betrachtet, ...
Das kann sich als großer Stolperstein erweisen. Folgende Situation: In einem Verzeichnis befinden sich nur Dateien, die nur der Eigentümer verändern darf (rw-r-–– 640). Die Gruppe ist beispielsweise "workers". Die Berechtigungen des Verzeichnisses sind aber rwxrwx-– (770). Das bedeutet, dass ein Angehöriger der Gruppe "workers" neue Dateien anlegen darf. Er darf aber auch bestehende Dateien umbenennen oder sogar löschen! Das ist so, weil die Aktionen "umbenennen" und "löschen" dem Ordner und nicht den Dateien zugeordnet sind.
|
Zoner
(Themenstarter)
Anmeldungsdatum: 30. August 2019
Beiträge: 121
|
Ah vielen Dank. Damit erklärt sich für mich vieles, in Bezug auf die Ordner.
|