「スーパーユーザー」という用語の由来はどこですか?


55

「スーパーユーザー」という用語はどこから生まれたのですか?それは「監視ユーザー」の短縮ですか、それともそのようなユーザーがシステム内で保持しているパワーのレベルの単なる指標ですか?


なぜsuperuser.comがsuperuserと名付けられたのか興味があります。同じ接続ですか?Unixとそのオペレーティングシステムのスーパーユーザーからのものですか?
コーポレートオタク

回答:


54

「スーパーユーザー」という用語はどこから生まれたのですか?

suを使用すると、あらゆる種類の素晴らしいパワーを持つスーパーユーザーになれます。

初版のUNIXのsu manページ:

        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」は「スーパーユーザー」を意味しました。ちょっと座ってください。

上記のコードは、デニスリッチーとケントンプソンによるUnixの第5版からのものです。Unixの歴史を知っていれば、第6版まで実際には、Unixの世界に物事が広まりませんでした。そのため、第5版以前のコードのすべてではないにしても、ほとんどのコードはDennisとKen自身によって書かれたと言っても安全です。1975年にリリースされた第5版のUnixは、それよりも権威がありません。

ソースアーロントポンス:「su」の意味


参考文献


コメントは詳細なディスカッション用ではありません。この会話はチャットに移動さました
ジャーニーマンオタク

35

OED(有料)は、次の語源を提供します。

スーパープレフィックス +ユーザーn。

彼らがリストする最初の例は、K。Thompson&DM Ritchie(1971)からのものです: "Unix Programmer's Man。":

スーパーユーザーのみがこのコマンドを呼び出すことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.