User-ID ändern?

L

lop

Neues Mitglied
Thread Starter
Dabei seit
27.09.2003
Beiträge
12
Reaktionspunkte
0
Hallo,

weiß jemand, wie sich die User-ID ändern läßt?
Oder wo und wie diese abgespeichert sind?
In der /etc/passwd stehen es nicht.

Ich interessiere mich dafür, da ich nur so mit unserem Netzwerk Rechte bekommen kann...

Gruss, Lop
 
Danke!

problematisch ist nur, dass OS X das Home-Verzeichnis über die UID regelt, so dsas sämmtliche Daten in einem anderen Verzeichnis hängen, für dass man keine berechtigung mehr hat... - Ist inzw. wieder geklärt, hat jedoch anfangs für verwirrung gesorgt.

Seltsam ist auch, dass OSX bei manchen neuen User-Accounts gleich eine neue Gruppe mit anlegt, die beim Löschen des Accounts bestehen bleibt und dann wiederum Verwirrung stifften kann.

hat jemand ähnliche erfahrungen gemacht? wie kann ich bei einem neuen User die Gruppe zu beginn festlegen?

gruesse, Lop
 
Mit `useradd -D` kannst du default-Werte setzen.
Mit `useradd -D -g GRUPPE`legst du die Standard-Gruppe für alle neuen User fest, die Gruppe musst du allerdings vorher erstellen.
Mehr dazu: `man useradd`
 
Wenn die User-Daten nicht in der /etc/passwd liegen, wo sind denn dann die Daten von NetInfo abgespeichert?

Ist das Programm 'useradd' das Programm, welches beim Anlegen von Usern aus der Systemsteuerung aufgerufen wird?
 
Original geschrieben von canfAN
Mit `useradd -D` kannst du default-Werte setzen.
Mit `useradd -D -g GRUPPE`legst du die Standard-Gruppe für alle neuen User fest, die Gruppe musst du allerdings vorher erstellen.
Mehr dazu: `man useradd`
 

Mitnichten - wir sind hier unter OS X :O

[14:31] % man useradd
No manual entry for useradd

Ihr sucht folgenden Befehl: man niutil

Aber bitte Vorsicht, denn sie wissen, was sie tun. Ich habe mal in 2001 ein Shellscript gebaut um einen User und eie Gruppe anzulegen. Das haette ich natuerlich auch einfach ueber den NetInfo Manager machen koennen, es ging mir aber um Shellscriptprogrammierung und um den Umgang mit NetInfo im besonderen.

PHP:
#!/bin/sh
#
# Script zum anlegen eines Benutzers "ftp" und einer Gruppe "ftp" sowie
# aller Eigenschaften und Werte dieser.
# Dank an Uli und Markus fuer nuetzliche Tipps & Tricks. 
# Copyright (C) 2001 by IceHouse
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.

clear

echo "-----------------------------------------------------------"
echo "Dieses Shellscript prueft das vorhandensein des Users ftp"
echo "und der Gruppe ftp in der NetInfo Datenbank. Sollte einer"
echo "der beiden Parameter schon vorhanden sein,  uebergeht das"
echo "Script das Erzeugen des Parameters sowie seiner Eigenschaf-"
echo "ten und Werte"
echo ""
echo "Es wird das Admin Passwort gebraucht."
echo "-----------------------------------------------------------"

yesno()
{
	while true
	do
		echo -n "$1 (j|n):"
		read ein
		case "$ein" in
			[jJyY]*) 	return 0 ;;
			[nN]*)		
						echo "-----------------------------------------------------------"
						echo "Sie haben das Script abgebrochen"
						echo "-----------------------------------------------------------"
						exit 0
						;;
			*)			
						echo "-----------------------------------------------------------"
						echo "Bitte nur j oder n eingeben."
						echo "-----------------------------------------------------------"
						;;
		esac
	done
}

while yesno "Fortsetzen?"

do
if [ $(niutil -readprop / /users/ftp name 2> /dev/null | grep ftp) ]
	then
		echo "Der Benutzer ftp existiert schon auf diesem System."
	else
		sudo niutil -create / /users/ftp
		echo ""
		echo "Der Benutzer ftp wurde erfolgreich angelegt."
		echo ""
		echo "Wir erzeugen fuer den User ftp die benoetigten"
		echo "Eigenschaften und Werte:"
		sudo niutil -appendprop / /users/ftp expire 0
		sudo niutil -appendprop / /users/ftp uid 250
		sudo niutil -appendprop / /users/ftp passwd '*'
		sudo niutil -appendprop / /users/ftp realname 'FTP User'
		sudo niutil -appendprop / /users/ftp _writers_picture ftp
		sudo niutil -appendprop / /users/ftp _writers_passwd ftp
		sudo niutil -appendprop / /users/ftp change 0
		sudo niutil -appendprop / /users/ftp home /Library/ftp
		sudo niutil -appendprop / /users/ftp shell /dev/null
		sudo niutil -appendprop / /users/ftp gid 250
		echo ""
		echo "Eigenschaften und Werte wurden erfolgreich erzeugt."
		echo "-----------------------------------------------------------"

fi;

pause()
{
	echo -n "Bitte RETURN druecken:"
	read q
}
pause

clear

if [ $(niutil -readprop / /groups/ftp name 2> /dev/null | grep ftp) ]
	then
		echo "Die Gruppe "ftp" existiert schon auf diesem System."
	else
		sudo niutil -create / /groups/ftp
		echo ""
		echo "Die Gruppe ftp wurde erfolgreich angelegt."
		echo ""
		echo "Wir erzeugen die Gruppe ftp die benoetigten"
		echo "Eigenschaften und Werte:"
		sudo niutil -appendprop / /groups/ftp passwd '*'
		sudo niutil -appendprop / /groups/ftp gid 250
		echo ""
		echo "Eigenschaften und Werte wurden erfolgreich erzeugt."
		echo "-----------------------------------------------------------"
fi;

pause()
{
	echo -n "Bitte RETURN druecken:"
	read q
}
pause

clear

if [ $(ls /Library | grep ftp) ]
	then
		echo "Der Ordner "ftp", in "/Library", existiert schon ."
		echo ""
		echo "Das Fenster kann nun geschlossen werden."
		echo ""
	else
		mkdir /Library/ftp
		sudo chown -Rf $USER.ftp /Library/ftp
		echo ""
		echo "Erzeuge Ordner "ftp" in "/Library"..."
		echo "Der Ordner "ftp" wurde erfolgreich angelegt."
		echo ""
		echo ""
		echo "Das Fenster kann nun geschlossen werden."
fi;

exit 0

done

Viel Spass
-=IceHouse=-

P.S.: Ja, Der Accountmanager im System Preferences Panel ruft auch diese Befehle auf um neue User anzulegen.
 
Echt Klasse ...

Wer's gebrauchen kann, für den ist es wirklich eine Hilfe.

Aber zu dir da etwas weiter oben: lop oder wie du heißt

In der Datei /etc/passwd stehen sicher User-Daten und in der Datei /etc/group die Gruppen dazu. Verwalten tut Mac OS X aber die User-Daten und noch andere wichtige Sachen in der Netinfod-Datenbank.

Diese findest du so ohne weiteres nicht weil sie in einem Verzeichnis liegt welches unsichtbar ist. Dann ist es auch nur mit Root-Rechten erlaubt dieses zu öffnen.

Aber wenn du dennoch wissen willst wo es liegt:

/private/var/db/netinfo/local.nidb/

Aber Finger ...wech..., is gefährlich
 
Zurück
Oben Unten