Woher stammt der Begriff "Superuser"?

6524
VortixDev

Woher stammt der Begriff "Superuser"? Ist es eine Verkürzung des "überwachenden Benutzers" oder ist es nur ein Indikator für die Stärke eines solchen Benutzers in einem System?

55
Ich bin neugierig, warum Superuser.com Superuser heißt. Ist es die gleiche Verbindung? Kommt es von Unix und dem Superuser von diesem Betriebssystem? Corporate Geek vor 6 Jahren 0

2 Antworten auf die Frage

55
DavidPostill

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 */ 

suwurde 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'


Lesen Sie weiter

Kommentare sind nicht für eine erweiterte Diskussion vorgesehen. Diese Konversation wurde zum Chat verschoben (http://chat.stackexchange.com/rooms/72047/discussion-on-answer-by-davidpostill-where-did-the-term-superuser-originate). Journeyman Geek vor 6 Jahren 0
36
Jukka Suomela

OED (paywalled) gibt die folgende Etymologie an:

super- Präfix + user n.

Das erste Beispiel, das sie auflisten, stammt von K. Thompson & DM Ritchie (1971): "Unix Programmer's Man.":

Nur der Superuser kann diesen Befehl aufrufen.