Woher stammt der Begriff „Superuser“?

55

Woher stammt der Begriff "Superuser"? Handelt es sich um eine Abkürzung für "Aufsichtsbenutzer", oder handelt es sich nur um einen Indikator für das Maß an Macht, das ein solcher Benutzer in einem System innehat?

VortixDev
quelle
Ich bin neugierig, warum superuser.com als superuser bezeichnet wird. Ist es die gleiche Verbindung? Kommt es von Unix und dem Superuser von diesem Betriebssystem?
Corporate Geek

Antworten:

55

Woher stammt der Begriff "Superuser"?

su ermöglicht es einem, der Superuser zu werden, der alle möglichen wunderbaren Kräfte besitzt.

Aus der Manpage von First Edition Unix su:

        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 zum Ändern des Benutzers verwendet und wird häufig zum Ausführen von Befehlen als Rootbenutzer verwendet.

Und ... lesen Sie weiter

Ich hatte einen weiteren Grund, der mich mit der Bedeutung von "su" erschütterte. 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 entwickelt, um zu einem anderen Benutzer zu wechseln, der ein Konto besitzt. "su" bedeutete "Superuser". Ich muss mich für eine Sekunde hinsetzen.

Der obige Code stammt aus der fünften Ausgabe von Unix von Dennis Ritchie und Ken Thompson. Wenn Sie Ihre Unix-Geschichte kennen, begann die Unix-Welt erst in der sechsten Ausgabe richtig zu beginnen. Man kann also mit Sicherheit sagen, dass die meisten, wenn nicht alle Codes in der fünften und vorherigen Ausgabe von Dennis und Ken selbst geschrieben wurden. Die fünfte Ausgabe von Unix wurde 1975 veröffentlicht, daher wird es nicht viel aussagekräftiger.

Quelle Aaron Toponce: Die Bedeutung von 'su'


Weitere Lektüre

DavidPostill
quelle
Kommentare sind nicht für eine längere Diskussion gedacht. Diese Unterhaltung wurde in den Chat verschoben .
Geselle Geek
35

OED (paywalled) gibt die folgende Etymologie an:

super- Präfix + user n.

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

Nur der Superuser darf diesen Befehl aufrufen.

Jukka Suomela
quelle