D'où vient le terme "superutilisateur" ? S'agit-il d'une abréviation de "supervisory user" ou simplement d'un indicateur du niveau de pouvoir d'un tel utilisateur dans un système ?
Réponses
Trop de publicités?D'où vient le terme "superutilisateur" ?
su permet de devenir le super-- de pouvoirs merveilleux.
De la Première édition Unix page de manuel 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 communément utilisé pour exécuter des commandes en tant qu'utilisateur root.
Et ... lire la suite
J'ai eu un autre moment d'ébranlement des fondations avec la signification de "su". I trouvé un vieux code source Unix, où 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 */
su
a été écrit pour ne changer que l'utilisateur root du système. Il n'a pas été conçu pour passer à n'importe quel autre utilisateur ayant un compte. "su" signifie "super-utilisateur". J'ai besoin de m'asseoir une seconde.Le code ci-dessus provient de la cinquième édition et Ken Thompson. Si vous connaissez l'histoire d'Unix, ce n'est pas vraiment jusqu'à la sixième édition que les choses ont vraiment commencé à décoller pour le monde Unix. Donc, on peut dire sans se tromper que la plupart, si ce n'est la totalité, du code dans la cinquième édition et les précédentes ont été écrites par Dennis et Ken eux-mêmes. La 5ème édition d'Unix est sortie en 1975, donc il n'y a pas beaucoup plus d'autorité que ça.
Source : Aaron Toponce : le sens du mot "su".