Uid Gid

smoker

smoker

GESPERRT
hallo unix gurus,

wie schön das es solche art von foren gibt, wo wissen und jahrelange erfahrung geteilt wird.

folgendes muss ich lösen.
in einem betrieb in dem verschiedenste unix systeme wie solaris(X), HPUX, SINX sich
über die jahre angesammelt haben und auf allen unixsystemen, den benutzern die verschiedensten UID und GID leider automatisch zugeordnet worden sind, möchte ich eine eindeutige neue UID und GUID auf allen servern neu anlegen.
sicherlich könnte man dieses mit /dev/hand, doch bin ich schreibfaul.
gibt es von euch fertige scripte dieser art ??? musste jemand etwas ähnliches schon einmal machen.
wie konntet ihr es am besten lösen ?.
einige ideen habe ich bereits, vielleicht sind eure geistesblitze aber heller (intelligenter).


bye
smoker
 
liste doch bitte erstmal deine idee`n auf, vielleicht kann man sie mit dir zusammen vervollständigen.
 
ok , war eine zeit nicht mehr da und konnte mich nicht weiter damit beschäftigen.
ich glaube, zu lösen ist es.
leider bleibt einem nichts anderes übrig als mit /dev/hand ersteinmal eine masterpasswd zu erstellen. verschiedene plattformen heisst natürlich das die uid und die gid unterschiedliche zahlenwerte sind.
erst habe ich alle passwd`s verkettet und dann in eine neuepasswd umgelenkt. der nächste schritt ist das sortieren nach namen.
mit cut habe ich mir nur das nötigste also den namen und die uid plus gid ausgeben lassen. jetzt konnte ich in etwa einen bereich erkennen der nicht unbedingt auch von prozessen belegt ist. der beste und schnellste algorythmus ist hier der geist. (finde ich )
habe mir überlegt welche id die neuen benutzer bekommen und eine masterpasswd erstellt.
das ist die meiste arbeit.

dann habe ich ein script geschrieben.

clear
USER=`cat /etc/passwd | grep -v $1 > /tmp/newpasswd`
MASTER_NEWPASSWD=`cat /tmp/masterpasswd | grep $1 >> /tmp/newpasswd`
if [ $# -ne 1 ] ;
then
echo "BenutzerNamen bitte angeben"
exit
else $user && $MASTER_PASSWD
fi
was mir die arbeit bei der erstellung der neuen passwd hilft, angepasst an die plattform, denn mehr user als in der alten passwd sollte es ja nicht geben.

als nächstes das hier

echo "CHANGE USER ID: GEBEN SIE BITTE DIE <OLD_ID> <NEW_ID> ein"
#if [ $# -ne 2 ] ; then
exit
find / -user $1 -exec chown $2 {} ";"

also nichts grossartiges. das gleiche könnte man acuh für die GID machen ( anpassen ).

es gibt bestimmt bessere lösungen, doch damit kann ich ersteinmal leben.
ach ja :) getestet habe ich es noch nicht.
:bounce:
 

Ähnliche Themen

BSD Hacks

Zurück
Oben