Woher stammt der Begriff "Superuser"?
Mit su kann man zum Superbenutzer werden, der über alle möglichen erstaunlichen Kräfte verfügt.
Von der First Edition Unix su man-Seite:
11/3/71 SU (I) NAME su -- become privileged user SYNOPSIS su password DESCRIPTION su allows one to become the super--user, who has all sorts of marvelous powers. In order for su to do its magic, the user must pass as an argument a password. If the password is correct, su will execute the shell with the UID set to that of the super--user. To restore normal UID privileges, type an end--of--file to the super--user shell FILES SEE ALSO shell DIAGNOSTICS "Sorry" if password is wrong BUGS OWNER dmr, ken
Quelle minnie.tuhs.org/UnixTree/V5/usr/source/s2/su.c.html
su
Wird auf Unix-Systemen verwendet, um den Benutzer zu ändern, und wird normalerweise zum Ausführen von Befehlen als Root-Benutzer verwendet.
Und ... weiter lesen
Ich hatte einen anderen Fundamentmoment mit der Bedeutung von "su". Ich habe alten Unix-Quellcode gefunden, in dem su.c verfügbar war . Neugierig schaute ich auf die Quelle. Was habe ich gefunden?
/* su -- become super-user */ char password[100]; char pwbuf[100]; int ttybuf[3]; main() { register char *p, *q; extern fin; if(getpw(0, pwbuf)) goto badpw; (&fin)[1] = 0; p = pwbuf; while(*p != ':') if(*p++ == '\0') goto badpw; if(*++p == ':') goto ok; gtty(0, ttybuf); ttybuf[2] =& ~010; stty(0, ttybuf); printf("password: "); q = password; while((*q = getchar()) != '\n') if(*q++ == '\0') return; *q = '\0'; ttybuf[2] =| 010; stty(0, ttybuf); printf("\n"); q = crypt(password); while(*q++ == *p++); if(*--q == '\0' && *--p == ':') goto ok; goto error; badpw: printf("bad password file\n"); ok: setuid(0); execl("/bin/sh", "-", 0); printf("cannot execute shell\n"); error: printf("sorry\n"); }
Was ist der erste Kommentar in dieser C-Datei?
/* su -- become super-user */
su
wurde geschrieben, um nur den root-Benutzer auf dem System zu ändern. Es wurde nicht dafür entwickelt, zu einem anderen Benutzer zu wechseln, der über ein Konto verfügt. "su" bedeutete "Superbenutzer". Ich muss mich für eine Sekunde setzen.Der obige Code stammt von der fünften Unix-Edition von Dennis Ritchie und Ken Thompson. Wenn Sie Ihre Unix-Geschichte kennen, hat es wirklich erst mit der sechsten Ausgabe für die Unix-Welt angefangen. Man kann also mit Sicherheit sagen, dass die meisten, wenn nicht alle, der Code in der fünften und früheren Ausgabe von Dennis und Ken selbst geschrieben wurden. Die fünfte Ausgabe Unix wurde 1975 veröffentlicht, daher wird es nicht viel autoritärer.
Quelle Aaron Toponce: Die Bedeutung von 'su'