UID und GID wirksam ändern

morromett

Well-Known Member
Hallo,

ich habe folgendes Problem:
Ich möchte die UID und GID eines Users, unter dem eine bestimmte Anwendung läuft, ändern. Das geht auch (passwd und group), aber danach startet diese Anwendung nicht mehr. D. h. die Anwendung soll nur unter diesem User gestartet werden und nach der Änderung (UID/GID), existiert für die Anwendung der User nicht mehr.
Kann ich bzw. muss ich der Anwendung diese Änderung mitteilen? Wenn ja, wie geht das? Oder muss ich nach der Änderung die Anwendung neu installieren (portupgrade -fu <Anwendung>)? Mit dem Handbuch und der Suchfunktion komme ich nicht weiter. Danke.
 
Wenn Du die numerische UID/GID geändert hast (mit vipw?), dann musst Du auch bei allen Dateien, die dem User oder der Gruppe gehören diese ändern:
Code:
find / -user <alte_uid> -exec chown <username> {} \;
find / -group <alte_gid> -exec chgrp <groupname> {} \;
Damit sollte es eigentlich getan sein, wenn Du Username/Groupname nicht verändert hast.
 
Hallo Ogion,

danke für die Antwort.
Username und Groupname habe ich nicht verändert. Die numerische UID habe ich mit "chpass" geändert, was auch in der passwd angezeigt wird. Die numerische GID habe ich mit dem vi-editor in der /etc/group geändert. Mit "id <user>" werden die Änderungen angezeigt.
OK, ich werde versuchen die UID/GID der Dateien die dem User gehören, zu ändern.

Edit: Hat super funktioniert. Vielen Dank.
Bei dieser Aktion habe ich festgestellt, dass Prozesse (und Dateien) in der jail, einem User/Eigner dazugehörend angezeiget werden (laufen?), obwohl es diesen User in der jail gar nicht gibt bzw. dort nicht angelegt worden ist. Es handelt sich um den User aus dem Host der zur Gruppe wheel gehört. Warum wird dieser User als Datei-/Prozesseeigner, in der jail angezeigt? Vor der Installation der Anwendung in der jail, habe ich diese Anwendung auf dem Host installiert, um zu schauen ob Alles funktioniert. Danach habe ich die Anwendung deaktiviert (nicht deinstalliert) und in der jail für einen anderen vorher angelegten User, installiert. Leider hatte der User in der jail die gleiche UID (1001) wie der User im Host. Nach der Installation in der jail, sind Dateien und Prozesse der Anwendung aus der jail, dem User im Host dazugehörend angezeigt worden. "top" im Host, hat als Eigner der Anwendung in der jail, auch den User mit der UID 1001 aus dem Host, angezeigt.
 
Zuletzt bearbeitet:
Bei dieser Aktion habe ich festgestellt, dass Prozesse (und Dateien) in der jail, einem User/Eigner dazugehörend angezeiget werden (laufen?), obwohl es diesen User in der jail gar nicht gibt bzw. dort nicht angelegt worden ist. Es handelt sich um den User aus dem Host der zur Gruppe wheel gehört. Warum wird dieser User als Datei-/Prozesseeigner, in der jail angezeigt?
Wegen der gleichen UID im Jail und im Hostsystem. Je nachdem wo Du top o. andere Befehle ausführst, siehst Du als Eigner der Prozesse, sowie der Dateien und Verzeichnisse den der jeweiligen UID zugeordneten Namen, Stichwort Namensauflösung. Das OS arbeitet mit UIDs und GIDs. Namen sind Schall und Rauch, könnte man sagen. :D Nur für den User wird es dadurch einfacher.

Damit Du überall die gleichen Ausgaben bekommst, könnstet Du den UIDs u. GIDs im Hostsystem und in den Jails den gleichen Namen zuordnen. Du kannst im Hostsystem die Namen auch jailweise vergeben, z.B. dem Apachen in Jail 1 www1, und dem in Jail 2 www2. Da sind Deiner Phantasie fast keine Grenzen gesetzt.

Gruß c.
 
Zurück
Oben