คำว่า "superuser" มาจากที่ใด มันสั้นลงหรือไม่ "ผู้ดูแลระบบ" หรือเป็นเพียงตัวบ่งชี้ระดับพลังงานที่ผู้ใช้ดังกล่าวถืออยู่ในระบบ?
คำว่า "superuser" มาจากที่ใด มันสั้นลงหรือไม่ "ผู้ดูแลระบบ" หรือเป็นเพียงตัวบ่งชี้ระดับพลังงานที่ผู้ใช้ดังกล่าวถืออยู่ในระบบ?
คำตอบ:
ซูอนุญาตให้ใครคนหนึ่งกลายเป็นผู้ใช้ระดับสูงที่มีพลังมหัศจรรย์ทุกประเภท
จากหน้าแรกของ Unix su man 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" ผมพบว่ารหัสที่มา 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
ถูกเขียนเพื่อเปลี่ยนเป็นผู้ใช้รูทบนระบบเท่านั้น ไม่ได้ออกแบบมาเพื่อสลับไปยังผู้ใช้อื่นที่มีบัญชี "su" หมายถึง "super-user" ฉันต้องการที่จะนั่งลงที่สองรหัสข้างต้นมาจากรุ่นที่ห้าของ Unix โดย Dennis Ritchie และ Ken Thompson ถ้าคุณรู้ประวัติศาสตร์ของ Unix มันก็ยังไม่ถึงรุ่นที่หกที่สิ่งต่าง ๆ เริ่มต้นเพื่อโลกยูนิกซ์ ดังนั้นจึงปลอดภัยที่จะบอกว่าส่วนใหญ่ถ้าไม่ใช่ทั้งหมดของรหัสในรุ่นที่ห้าและก่อนหน้านี้ถูกเขียนโดย Dennis และ Ken เอง Unix รุ่นที่ห้าวางจำหน่ายในปี 1975 ดังนั้นจึงไม่ได้รับอนุญาตมากไปกว่านี้
แหล่งที่มาของแอรอน Toponce: ความหมายของ 'สุ'
OED (paywalled) ให้นิรุกติศาสตร์ต่อไปนี้:
ซุปเปอร์คำนำหน้าผู้ใช้ + n
ตัวอย่างแรกสุดที่พวกเขาอยู่ในรายการมาจาก K. Thompson และ DM Ritchie (1971): "Man Unix Programmer's Man":
เฉพาะผู้ใช้ขั้นสูงเท่านั้นที่สามารถเรียกใช้คำสั่งนี้