Hint's und Ärger
Je nach dem wer angemeldet ist, hat der PM andere Rechte gegenüber dem HPFS386.
Wichtig ist:
Sie könnten sich ja zur Laufzeit ändern !! Also alles Notwendige via 'local' vorgeben
da das für JEDEN gilt. In die startup.cmd MUSS runpriv.exe eingetragen sein.
Dieses Programm führt ja dann \privinit.cmd aus.
In privinit.cmd werden ALLE Prozesse eingetragen, die ROOT Rechte brauchen, unabhängig davon WER gerade angemeldet ist.
Folgende Tricks bei privinit.cmd gibts da:
start /N "RootShell" /PGM "cmd" startet z.B. eine ROOT-Shell
detach ftpd Startet den FTP Daemon als Root-Prozess, ein
Beenden geht ja nicht, der ROOT Prozess ist vor Usern also sicher, an das Window kommt keiner ran. Keine Netzbefehle in Runpriv.cmd eintragen, da die ROOT Rechte nur lokal und nicht im Netz gelten!
Folgendes Beachten:
Das Szenario sei wie folgt:
TCP/IP Dienste wie NFS oder FTP brauchen ROOT-Rechte, da es ja unabhängig von der Konsole, die ihre Rechte ändern kann, bleiben soll. Also in privinit.cmd detachen damit niemand an's Window kommt.
Leider werkeln diese Dienste ausserhalb der Server User Datenbank, es ist also notwendig die Benutzer entsprechend zu konfigurieren.
Beispiel FTPD.EXE:
Benutzer sind in %etc%trusers eingetragen, bekanntlicherweise auch die Passwoerter
im Klartext was aergerlich ist.
Wie folgt vorgehen:
FTPD als ROOT-Prozess detachen ( in privinit.cmd ) und trusers schuetzen: 'net access
pfad\trusers /add users:' Somit kann niemand ( ausser dem Admin ) diese Datei
von der Konsole oeffnen, FTP.EXE jedoch schon, da er ja detached als ROOT-Prozess
laeuft. Der Trick funktioniert gut, allerdings gilt dann keine Quota, da FTP
ein ROOT Prozess gegenüber dem HPFS386 ist ....