“超级用户”一词起源于何处?


55

“超级用户”一词起源于何处?它是“管理用户”的缩写,还是仅表示该用户在系统中拥有的功率级别?


我很好奇为什么superuser.com被命名为超级用户。是同一连接吗?它是来自Unix,还是来自该操作系统的超级用户?
Corporate Geek

Answers:


55

“超级用户”一词起源于何处?

su可以使他成为拥有各种神奇力量的超级用户。

第一版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

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

su 在Unix系统上用于更改用户,通常用于以root用户身份运行命令。

还有...继续读

我又有了一个动摇的基础,即“ su”的含义。我找到了su.c可用的一些旧的Unix源代码。很好奇,我看着源头。我找到了什么?

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

该C文件的第一个注释是什么?

/* su -- become super-user */

su被写入仅更改为系统上的root用户。并非旨在切换到拥有帐户的任何其他用户。“ su”表示“超级用户”。我需要坐一会儿。

上面的代码来自Dennis Ritchie和Ken Thompson的第五版Unix。如果您了解Unix的历史,那么直到第六版才真正开始为Unix世界腾飞。因此,可以肯定地说,第五版及以前的大多数(如果不是全部)代码是由Dennis和Ken自己编写的。第五版Unix于1975年发布,因此没有比这更权威的了。

资料来源Aaron Toponce:“ su”的含义


进一步阅读


评论不作进一步讨论;此对话已转移至聊天
Journeyman Geek

35

OED(付费专区)提供以下词源:

超级前缀 +用户n。

他们列出的最早的例子来自K.Thompson和DM Ritchie(1971):“ Unix程序员的人”:

只有超级用户可以调用此命令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.