D'où vient le terme «superutilisateur»?

55

D'où vient le terme "superutilisateur"? S'agit-il d'un raccourcissement du terme "utilisateur superviseur", ou s'agit-il simplement d'un indicateur du niveau de puissance qu'un tel utilisateur détient dans un système?

VortixDev
la source
Je suis curieux de savoir pourquoi superuser.com est nommé superutilisateur. Est-ce la même connexion? Vient-il de Unix et le super-utilisateur de ce système d'exploitation?
Geek d'entreprise

Réponses:

54

D'où vient le terme "superutilisateur"?

su permet de devenir le super-utilisateur, qui dispose de toutes sortes de pouvoirs merveilleux.

De la page de manuel 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

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

su est utilisé sur les systèmes Unix pour changer d'utilisateur, et est généralement utilisé pour exécuter des commandes en tant qu'utilisateur root.

Et ... lisez la suite

J'ai eu un autre moment de tremblement de base avec la signification de "su". J'ai trouvé un vieux code source Unix, où le code su.c était disponible . Curieux, j'ai regardé la source. Qu'est-ce que j'ai trouvé?

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

Quel est le premier commentaire dans ce fichier C?

/* su -- become super-user */

sua été écrit pour ne modifier que l'utilisateur root du système. Il n'a pas été conçu pour basculer vers un autre utilisateur disposant d'un compte. "su" signifiait "super-utilisateur". Je dois m'asseoir une seconde.

Le code ci-dessus provient de la cinquième édition d'Unix par Dennis Ritchie et Ken Thompson. Si vous connaissez votre histoire Unix, ce n’est vraiment que lors de la sixième édition que les choses ont vraiment commencé à décoller pour le monde Unix. Il est donc prudent de dire que la plupart, sinon la totalité, du code de la cinquième édition et des précédentes ont été écrits par Dennis et Ken eux-mêmes. La cinquième édition d'Unix est sortie en 1975, donc ça ne fait pas plus autorité que ça.

Source Aaron Toponce: La signification de 'su'


Lectures complémentaires

DavidPostill
la source
Les commentaires ne sont pas pour une discussion prolongée; cette conversation a été déplacée pour discuter .
Compagnon Geek
35

OED (paywalled) donne l'étymologie suivante:

super préfixe + utilisateur n.

Le premier exemple cité est celui de K. Thompson & DM Ritchie (1971): "Unix Programmer's Man.":

Seul le super-utilisateur peut appeler cette commande.

Jukka Suomela
la source