Da dove viene il termine "superutente"?


55

Da dove viene il termine "superutente"? È un accorciamento dell '"utente supervisore" o è solo un indicatore del livello di potere che un tale utente detiene in un sistema?


Sono curioso di sapere perché superuser.com è chiamato superutente. È la stessa connessione? Viene da Unix e il superutente da quel sistema operativo?
Corporate Geek,

Risposte:


54

Da dove viene il termine "superutente"?

su permette di diventare il superutente, che ha tutti i tipi di poteri meravigliosi.

Dalla prima man page di 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

Fonte minnie.tuhs.org/UnixTree/V5/usr/source/s2/su.c.html

su viene utilizzato sui sistemi Unix per cambiare utente e viene comunemente utilizzato per eseguire comandi come utente root.

E ... continua a leggere

Ho avuto un altro momento di scuotimento delle fondamenta con il significato di "su". Ho trovato un vecchio codice sorgente Unix, dove su.c era disponibile . Curioso, ho guardato la fonte. Cosa ho trovato

/* 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");
}

Qual è il primo commento in quel file C?

/* su -- become super-user */

suè stato scritto per modificare solo l'utente root sul sistema. Non è stato progettato per passare a nessun altro utente che ha un account. "su" significa "superutente". Ho bisogno di sedermi per un secondo.

Il codice sopra riportato proviene dalla quinta edizione di Unix di Dennis Ritchie e Ken Thompson. Se conosci la tua storia di Unix, non è stato fino alla sesta edizione che le cose hanno iniziato davvero a decollare per il mondo Unix. Quindi, è sicuro affermare che la maggior parte, se non tutto, del codice nella quinta edizione e precedenti sono stati scritti dagli stessi Dennis e Ken. La quinta edizione di Unix è stata pubblicata nel 1975, quindi non è molto più autorevole di così.

Fonte Aaron Toponce: il significato di 'su'


Ulteriori letture


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
Journeyman Geek

35

OED (paywalled) fornisce la seguente etimologia:

super prefisso + utente n.

Il primo esempio che elencano è di K. Thompson e DM Ritchie (1971): "Unix Programmer's Man.":

Solo il superutente può invocare questo comando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.