「スーパーユーザー」という用語はどこで生まれましたか?それは「監視ユーザー」の短縮なのか、それともそのようなユーザーがシステムで保持しているパワーのレベルの単なる指標なのか?
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ユーザーとしてコマンドを実行するために使用されます。
そして...続きを読む
私は「す」という意味で揺れる瞬間がもう一つありました。私はいくつかの古いUnixソースコードを見つけました、 ここで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
は、システムのrootユーザーにのみ変更するように書かれています。アカウントを持つ他のユーザーに切り替えるようには設計されていません。 "su"は "スーパーユーザー"を意味します。ちょっと座る必要があります。上記のコードは、Dennis RitchieとKen Thompsonによる5番目のUNIX版から来ています。あなたがあなたのUnixの歴史を知っているなら、物事が本当にUnixの世界に向けて出発し始めたのは本当に第6版までではありませんでした。したがって、第5版以前のコードの全部ではないにしても、その大部分がDennisとKenによって書かれたと言っても過言ではありません。 1975年にリリースされた第5版のUnixでは、それ以上の権威はありません。
OED (paywalled)は以下の語源を与えます。
スーパープレフィックス+ユーザーn。
彼らがリストアップした最も初期の例はK. ThompsonとD. M. Ritchie(1971)からのものです:
スーパーユーザーだけがこのコマンドを起動できます。