“슈퍼 유저”라는 용어는 어디서 시작 되었습니까?


55

"슈퍼 유저"라는 용어는 어디서 시작 되었습니까? "감독 사용자"의 단축입니까, 아니면 그러한 사용자가 시스템에서 보유하는 전력 레벨의 지표 일 뿐입니 까?


왜 superuser.com의 이름이 superuser인지 궁금합니다. 같은 연결입니까? Unix와 그 운영 체제의 수퍼 유저에서 나왔습니까?
Corporate Geek

답변:


55

"슈퍼 유저"라는 용어는 어디서 시작 되었습니까?

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 시스템에서 사용자를 변경하는 데 사용되며 일반적으로 루트 사용자로 명령을 실행하는 데 사용됩니다.

그리고 ...에 읽기

"su"의 의미로 또 다른 기초가 흔들리는 순간이있었습니다. su.c를 사용할 수있는 오래된 유닉스 소스 코드를 찾았습니다 . 궁금해서 소스를 보았습니다. 무엇을 찾았습니까?

/* 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시스템의 루트 사용자로만 변경되도록 작성되었습니다. 계정이있는 다른 사용자로 전환하도록 설계되지 않았습니다. "su"는 "슈퍼 유저"를 의미했습니다. 나는 잠시 앉아야한다.

위의 코드는 Dennis Ritchie와 Ken Thompson의 Unix 5 판에서 나온 것입니다. 유닉스의 역사를 알고 있다면, 제 6 판까지는 실제로 유닉스 세계에서 일이 시작되었습니다. 따라서 다섯 번째 판 및 이전 버전의 코드 중 대부분은 전부는 아니지만 Dennis와 Ken이 직접 작성한 것입니다. 1975 년에 릴리스 된 5 판 유닉스는 그보다 훨씬 권위적이지 않습니다.

출처 Aaron Toponce : 'su'의 의미


추가 자료


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Journeyman Geek

35

OED (paywalled)는 다음 어원을 제공합니다.

슈퍼 접두사 + 사용자 n.

가장 빠른 예는 K. Thompson & DM Ritchie (1971) : "Unix Programmer 's Man"입니다.

수퍼 유저 만이 명령을 호출 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.