einheitliche UIDs/GIDs auf mehreren Systemen

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von cosmac » 09.07.2013 11:08:50

hi,

ursprünglich hat dirk11 die Frage in Grundsatzüberlegungen vor Neuinstallation gestellt, aber da geht sie etwas unter. Inzwischen frage ich mich, warum dieser grobe Missstand kaum jemanden stört, deshalb dieser neue Thread.
dirk11 hat geschrieben:cosmac, das hat nur teilweise funktioniert. Sobald ich ein neues Paket installiere, werden die files ärgerlicherweise wieder überschrieben, und zwar mit eigenen Werten!
Bei einem kurzen Versuch ist das nur passiert, wenn die UIDs nicht lückenlos waren, ansonsten hat er die alte übernommen. Nicht sehr überzeugend...

http://debianforum.de/forum/viewtopic.p ... 60#p941955
http://debianforum.de/forum/viewtopic.p ... 60#p942007
http://debianforum.de/forum/viewtopic.p ... 60#p942031
http://debianforum.de/forum/viewtopic.p ... 60#p942110
http://debianforum.de/forum/viewtopic.p ... 60#p942114
http://debianforum.de/forum/viewtopic.p ... 75#p942265
Beware of programmers who carry screwdrivers.

dirk11
Beiträge: 2849
Registriert: 02.07.2013 11:47:01

Re: einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von dirk11 » 09.07.2013 12:31:06

Danke, dass du einen neuen thread aufgemacht hast, das wird dem Thema sicherlich gerechter!

Was meinst du mit "nicht lückenlos"? Keine Lücke zwischen 100 und 1xx oder keine Lücke zwischen 1000 und 10xx,oder etwa keine Lücke zwischen 1 und 99? Das mit dem nicht lückenlos ist für group und password gemeinsam nur schwierig umzusetzen, denn es gibt immer mal wieder Einträge, welche nur eine UID oder nur eine GID benötigen. Und wenn man (was ich auch für sehr sinnvoll halte) je Dienst für UID und GID dieselbe Zahl vergeben will, kommt man da in "Schwulitäten", wie man hier so schön sagt...

Die files temporär schreibschützen wird auch nicht funktionieren, da ja u.U. auch mal eine neue UID oder GID angelegt wird, die man so noch nicht kannte, ist bei mir z.B. bei mlocate der Fall, das gab's vorher noch nicht in meinen Systemen.

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von cosmac » 09.07.2013 13:29:38

ich meinte lückenlos von 100 bis 1xx. Ich hatte die 105 in 108 geändert, also fehlten 106 und 107. Aber vergiss es, auf einem anderen wheezy ist es nicht reproduzierbar. Hier fehlten schon einzelne UIDs, bevor ich angefangen hab' zu experimentieren und er hat bei jedem Versuch die alte UID übernommen :?
Beware of programmers who carry screwdrivers.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von NAB » 09.07.2013 17:22:40

hmmm ... ist das den Aufwand wert?
Es gibt ja betörend einfache Methoden, UIDs und GIDs nach der Installation zu ändern:
http://unix.stackexchange.com/questions ... attributes
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von cosmac » 09.07.2013 19:50:02

danke für den Link, chown --from= kannte ich noch nicht, das ist ja schon mal etwas. Für normale User, bei denen UID und GID gleich sind, mag das reichen. Aber bei den System-Usern ist das nicht so einfach, siehe z.B. exim4:

Code: Alles auswählen

root        root         /etc/exim4/conf.d
root        Debian-exim  /etc/exim4/passwd.client
Debian-exim adm          /var/log/exim4
Debian-exim Debian-exim  /var/spool/exim4
root        mail         /var/mail
janedoe     mail         /var/mail/janedoe
Also der Aufwand lohnt sich (für mich) nicht. Zwei Files während der Installation bearbeiten wäre schon einfacher (gewesen?).
Zuletzt geändert von cosmac am 09.07.2013 19:53:28, insgesamt 1-mal geändert.
Beware of programmers who carry screwdrivers.

dirk11
Beiträge: 2849
Registriert: 02.07.2013 11:47:01

Re: einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von dirk11 » 09.07.2013 19:52:00

NAB hat geschrieben:hmmm ... ist das den Aufwand wert?
Es gibt ja betörend einfache Methoden, UIDs und GIDs nach der Installation zu ändern:
http://unix.stackexchange.com/questions ... attributes
Na, ob das mit UID/GID unter 1000 funktioniert? Ich zitiere auch mal aus man usermod:
"You must make certain that the named user is not executing any processes when this command is being
executed if the user's numerical user ID, the user's name, or the user's home directory is being
changed."

Kann ich bei Diensten auch nicht immer beeinflussen. Meist gibt's unter /proc irgendwas mit der richtigen/falschen UID/GID. Ich hab das so gehandhabt, dass ich mich bei Änderung/Korrektur bzw. Anpassung von UID/GID schlichtweg nicht um die Prozesse gekümmert habe und einfach munter die UID/GID geändert habe. Dann rebootet. Nicht fein, aber geht. Ist schon mühsam genug, 40 UID/GID auf Linie zu bringen.

dirk11
Beiträge: 2849
Registriert: 02.07.2013 11:47:01

Re: einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von dirk11 » 09.07.2013 19:56:05

Momentan habe ich das so gemacht:
Z.B. zur Kontrolle nach der vorhandenen UID 100 gesucht:
find . -user 100 -ls

Der soll in 148 geändert werden:
find . -user 100 -exec chown 148 {} \;

Oder dasselbe mit GID:
find . -group 100 -ls
find . -group 100 -exec chgrp 148 {} \;

Gibt es eine bessere Methode? Meine hat den Nachteil, dass Sachen unter proc oder run nicht mit geändert werden. Das System muss natürlich zwingend rebootet werden, ob es irgendwelche dauerhaften "Nebeneffekte" gibt, habe ich noch nicht feststellen können.

NAB
Beiträge: 5501
Registriert: 06.03.2011 16:02:23
Lizenz eigener Beiträge: MIT Lizenz

Re: einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von NAB » 09.07.2013 20:45:59

Genau dazu gibt es ja den Single-User-Mode.

Und es gibt tolle Scripte, die für dich die Migration von zig hundert Usern übernehmen. Du bist ja nicht der Erste auf dem Planeten mit diesem Problem.

Nur das Problem, dass auch UIDs von Systemdiensten übernommen werden sollen, das hatte ich so noch nie. Eigentlich müsste aber auch das funktionieren ... solange da nicht ne festverdrahtete UID/GID in irgendeinem Config-File steht. Das würde ich dann aber eher als Bug im Config-File ansehen.

Ich hab aber auch den Verdacht, dass dein Migrationsplan nicht sonderlich ausgereift ist. Angenommen, du hast im neuen System die gleichen UIDs/GIDs wie im alten System ... und dann? Einfach /etc/* und /var/* mit "cp -p -r" drüberkopieren? Dass das so pauschal nicht klappt, siehst du schon an der fstab.

Dies wäre die ideale Gelegenheit, deine anscheinend unüberschaubar gewordenen Änderungen am System mal zentral zu sammeln, auf Aktualität zu überprüfen und dir Scripte zu basteln, die diese Änderungen gleich mit den passenden Benutzer & Gruppennamen ausstatten (wohlgemerkt Namen, nicht Nummern).

Aber gut, zur eigentlichen Frage habe ich nichts beizutragen, darum halte ich mich hier raus :)
Never change a broken system. It could be worse afterwards.

"No computer system can be absolutely secure." Intel Document Number: 336983-001

dirk11
Beiträge: 2849
Registriert: 02.07.2013 11:47:01

Re: einheitliche UIDs/GIDs auf mehreren Systemen

Beitrag von dirk11 » 09.07.2013 21:12:43

NAB hat geschrieben:Und es gibt tolle Scripte, die für dich die Migration von zig hundert Usern übernehmen. Du bist ja nicht der Erste auf dem Planeten mit diesem Problem.
Meine User-Anzahl liegt unter 5. Die sind mir vollkommen egal, das ist trivial.
Ich hab aber auch den Verdacht, dass dein Migrationsplan nicht sonderlich ausgereift ist. Angenommen, du hast im neuen System die gleichen UIDs/GIDs wie im alten System ... und dann? Einfach /etc/* und /var/* mit "cp -p -r" drüberkopieren? Dass das so pauschal nicht klappt, siehst du schon an der fstab.
Das habe ich auch nicht vor. Warum ich das will, habe ich schon erläutert. Es wird viel per nfs auf den Server zugegriffen, und da erwarte ich schlichtweg, das Files, kopiert von hier nach da, übersichtlich dieselben UID/GID haben und nicht auf einmal die exim-Files von Rechner X auf dem neuen Server dem lighttpd gehören. So als Beispiel.
Dies wäre die ideale Gelegenheit, deine anscheinend unüberschaubar gewordenen Änderungen am System mal zentral zu sammeln, auf Aktualität zu überprüfen und dir Scripte zu basteln, die diese Änderungen gleich mit den passenden Benutzer & Gruppennamen ausstatten (wohlgemerkt Namen, nicht Nummern).
U.a. deshalb wird ein 64Bit-System installiert. Davon ab haben meine Änderungen nur höchst selten irgendwas mit UID/GID zu tun. Nicht mal am Rande.

Antworten