⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rshd.8

📁 操作系统设计与实现源码
💻 8
📖 第 1 页 / 共 2 页
字号:
%!PS-Adobe-1.0%%Creator: devps (Pipeline Associates, Inc.)%%CreationDate: Fri Sep 13 14:24:01 1996%%Pages: (atend)%%DocumentFonts: (atend)/devps 180 dict def devps begin/res 10.000000 def/y_offset 843 def/X{exch}bind def/mm {transform round X round X itransform} bind def/r{rmoveto}bind def/m{moveto}bind def/l{lineto}bind def/rl{rlineto}bind def/st{stroke}bind def/gs{gsave}bind def/gr{grestore}bind def/cp{currentpoint}bind def/np{newpath}bind def/ct{curveto}bind defsystemdict /setpacking known { /savepacking currentpacking def true setpacking } if/m0{0 0 moveto}bind def/xc{//res div}bind def/yc{//res neg div //y_offset add}bind def/lc{yc X xc X l st}bind def/mc{yc X xc X m}bind def/el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def/ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def/sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def/V{//res neg div //y_offset addcurrentpoint pop Xm}bind def/H{//res div0 transform X round X itransform popcurrentpoint X popmoveto}bind def/h{//res div 0 r}bind def/v{//res neg div 0 X r}bind def/S{X H show}bind def/A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def/psize 10 def/height 0 def/cheight { height 0 ne { height } { psize } ifelse } bind def/slant 0 def/FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def    [psize 0 cheight slant sin slant cos div mul cheight 0 0]    makefont setfont}bind def/shade{gs /dy X def /dx X def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fillgr}bind def1 setlinecap/resolution res 72 mul def/startFig {	/SavedState save def	userdict maxlength dict begin	currentpoint transform	DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap		setlinewidth setmatrix	itransform moveto	/ury exch def	/urx exch def	/lly exch def	/llx exch def	/y exch 72 mul resolution div def	/x exch 72 mul resolution div def		currentpoint /cy exch def /cx exch def	/sx x urx llx sub div def	/sy y ury lly sub div def	sx sy scale	cx sx div llx sub	cy sy div ury sub translate		/DefFigCTM matrix currentmatrix def	/initmatrix {		DefFigCTM setmatrix	} def	/defaultmatrix {		DefFigCTM exch copy	} def	/initgraphics {		DocumentInitState setmiterlimit setgray setdash 			setlinejoin setlinecap setlinewidth setmatrix		DefFigCTM setmatrix	} def	/showpage {		initgraphics	} def}bind  def/clipFig {	currentpoint 6 2 roll	newpath 4 copy	4 2 roll moveto	6 -1 roll exch lineto	exch lineto	exch lineto	closepath clip	newpath	moveto}bind  def/doclip { llx lly urx ury clipFig } def/endFig {	end SavedState restore}bind  def/globalstart {	fontnum psize slant height resolution currentpoint 	pagesave restore gsave }bind  def/globalend {	grestore moveto	/resolution exch def /height exch def	/slant exch def /psize exch def /fontnum exch def	F	/pagesave save def}bind  def/fontnum 1 def systemdict /setpacking known { savepacking setpacking} ifend/BP{save mark devps begin m0/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecapcurrentlinejoin currentdash currentgray currentmiterlimit ] cvx def}bind def/EP{end cleartomark restore showpage}def/Encoding-1 256 array def0 1 255 {Encoding-1 exch /.notdef put} forEncoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-BEncoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-bEncoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accentsEncoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessiEncoding-1dup 8#41 /copyright putdup 8#42 /registered putdup 8#43 /trademark putdup 8#44 /logicalnot putdup 8#45 /Eth putdup 8#46 /eth putdup 8#47 /Thorn putdup 8#50 /thorn putdup 8#51 /brokenbar putdup 8#52 /degree putdup 8#53 /divide putdup 8#54 /multiply putdup 8#55 /minus putdup 8#56 /onehalf putdup 8#57 /onequarter putdup 8#60 /threequarters putdup 8#101 /Aacute putdup 8#102 /Acircumflex putdup 8#103 /Adieresis putdup 8#104 /Agrave putdup 8#105 /Aring putdup 8#106 /Atilde putdup 8#107 /Ccedilla putdup 8#110 /Eacute putdup 8#111 /Ecircumflex putdup 8#112 /Edieresis putdup 8#113 /Egrave putdup 8#114 /Iacute putdup 8#115 /Icircumflex putdup 8#116 /Idieresis putdup 8#117 /Igrave putdup 8#120 /Ntilde putdup 8#121 /Oacute putdup 8#122 /Ocircumflex putdup 8#123 /Odieresis putdup 8#124 /Ograve putdup 8#125 /Otilde putdup 8#126 /Scaron putdup 8#127 /Uacute putdup 8#130 /Ucircumflex putdup 8#131 /Udieresis putdup 8#132 /Ugrave putdup 8#133 /Ydieresis putdup 8#134 /Zcaron putdup 8#135 /aacute putdup 8#136 /acircumflex putdup 8#137 /adieresis putdup 8#140 /agrave putdup 8#141 /aring putdup 8#142 /atilde putdup 8#143 /ccedilla putdup 8#144 /eacute putdup 8#145 /ecircumflex putdup 8#146 /edieresis putdup 8#147 /egrave putdup 8#150 /iacute putdup 8#151 /icircumflex putdup 8#152 /idieresis putdup 8#153 /igrave putdup 8#154 /ntilde putdup 8#155 /oacute putdup 8#156 /ocircumflex putdup 8#157 /odieresis putdup 8#160 /ograve putdup 8#161 /otilde putdup 8#162 /scaron putdup 8#163 /uacute putdup 8#164 /ucircumflex putdup 8#165 /udieresis putdup 8#166 /ugrave putdup 8#167 /ydieresis putdup 8#170 /zcaron putpop/Enc-dict 30 dict defEnc-dict /tmpstr1 50 string putEnc-dict /tmpstr2 50 string putEnc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put/AEnc-def { % arguments: the original font's name, encoding nrEnc-dict begintmpstr2 cvs /Enc-no exch def % Remember the number in a stringdup /OrigName exch def % remember the namefindfont dup maxlength dict /newdict exch def % get dictionary for new font{ exch dup /FID ne   { exch newdict 3 1 roll put }   { pop pop } % Ignore FID   ifelse} forallnewdict begin/Encoding  tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval  cvn load  def % Replace encodingcurrentdict /UniqueID known{ /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueIDend % newdict/FNlength OrigName tmpstr1 cvs length def % convert name, remember lengthFNlength 1 add Enc-no length add stringdup 0 OrigName tmpstr1 cvs putintervaldup FNlength (-) putintervaldup FNlength 1 add Enc-no putintervaldup 0 tmpstr1 0 FNlength getinterval putinterval % Add old namecvn dup newdict /FontName 3 2 roll put newdict definefontend % Enc-dict} def/Times-Roman 1 AEnc-def pop/R-1{/Times-Roman-1 FF}def/R{/Times-Roman FF}def/B{/Times-Bold FF}def/I{/Times-Italic FF}def%%EndProlog%%Page: 1 1BP/slant 0 def/height 0 def480 V10 R720(RSHD)S997(\()S1039(8)S1097(\))S2696(Eighth)S(Edition)296 2989 A4850(RSHD)S5127(\()S5169(8)S5227(\))S960 V9 R720(N)S722(NA)S790(AM)S858(ME)S940(E)S1080 V10 R1080(rshd)S10 R-11278(-)S10 R1360(remote)S1665(shell)S1880(server)S1248 V9 R720(S)S722(SY)S774(YN)S842(NO)S910(OP)S978(PS)S1030(SI)S1082(IS)S1115(S)S1368 V10 B1080(shell)S1314(stream)S1649(tcp)S1822(nowait)S2151(root)S2368(/usr/sbin/in.rshd)S3114(in.rshd)S1488 V1080(tcpd)S1309(shell)S1543(/usr/sbin/in.rshd)S1656 V9 R720(D)S722(DE)S790(ES)S848(SC)S900(CR)S962(RI)S1024(IP)S1057(PT)S1109(TI)S1167(IO)S1200(ON)S1268(N)S1776 V10 B1080(Rshd)S10 R1332(is)S1427(the)S1578(server)S1853(for)S1999(the)S10 B2151(rcmd)S10 R2381(\(3\))S2528(routine)S2842(and,)S3041(consequently,)S3625(for)S3772(the)S10 B3924(rsh)S10 R4064(\(1\))S4211(program.)S4631(The)S4817(server)S5093(pro-)S1896 V1080(vides)S1333(remote)S1654(execution)S(facilities)348 2086 A2475(with)S2695(authentication)S3306(based)S3575(on)S3715(privileged)S4163(port)S4365(numbers)S4751(from)S4987(trusted)S2016 V1080(hosts.)S2184 V10 B1080(Rshd)S10 R1344(listens)S1642(for)S1801(service)S2128(requests)S2499(at)S2613(the)S2777(port)S2980(indicated)S3390(in)S3509(the)S3673(``cmd'')S4023(service)S4350(speci\256cation;)S4928(see)S10 B5098(ser-)S2304 V1080(vices)S10 R1287(\(5\).)S1480(When)S1745(a)S1815(service)S2126(request)S2442(is)S(received)342 2534 A2901(the)S3049(following)S3465(protocol)S3825(is)S(initiated:)358 3917 A2472 V1080(1\))S1440(The)S1632(server)S1914(checks)S2223(the)S2381(client's)S2713(source)S3011(port.)S3258(If)S3361(the)S3519(port)S3716(is)S3818(not)S3981(in)S4094(the)S4252(range)S(0-1023,)309 4511 A4855(the)S5014(server)S2592 V1440(aborts)S1711(the)S(connection.)466 1859 A2760 V1080(2\))S1440(The)S1634(server)S1918(reads)S2168(characters)S2615(from)S2848(the)S3008(socket)S3303(up)S3441(to)S3557(a)S3640(null)S3834(\(`\\0'\))S4086(byte.)S4347(The)S4542(resultant)S4927(string)S5194(is)S2880 V1440(interpreted)S1902(as)S2011(an)S2131(ASCII)S2420(number,)S2777(base)S2981(10.)S3048 V1080(3\))S1440(If)S1534(the)S1683(number)S(received)342 2016 A2384(in)S2488(step)S2676(1)S2752(is)S(non-zero,)383 2845 A3254(it)S3336(is)S3429(interpreted)S3892(as)S4002(the)S4151(port)S4339(number)S4672(of)S4782(a)S(secondary)408 4853 A3168 V1440(stream)S1739(to)S1846(be)S1970(used)S2183(for)S2330(the)S10 B(stderr)264 2482 A10 R2746(.)S2825(A)S(second)279 2927 A(connection)441 3235 A3705(is)S3801(then)S4003(created)S4324(to)S4431(the)S4583(speci\256ed)S4970(port)S5161(on)S3288 V1440(the)S1588(client's)S1910(machine.)S2326(The)S2508(source)S2796(port)S2983(of)S3092(this)S(second)279 3262 A(connection)441 3566 A4032(is)S4124(also)S4311(in)S4414(the)S4562(range)S(0-1023.)309 4811 A3456 V1080(4\))S1440(The)S1630(server)S1910(checks)S2217(the)S2373(client's)S2703(source)S3000(address)S3336(and)S3515(requests)S3879(the)S(corresponding)575 4036 A4645(host)S4846(name)S5098(\(see)S3576 V10 B1440(gethostbyaddr)S10 R2061(\(3N\),)S10 B2324(hosts)S10 R2542(\(5\))S2707(and)S10 B2899(named)S10 R3190(\(8\)\).)S3439(If)S3554(the)S3724(hostname)S(cannot)268 4156 A4471(be)S4613(determined,)S5138(the)S3696 V1440(dot-notation)S1956(representation)S2552(of)S2661(the)S2809(host)S3001(address)S3328(is)S3420(used.)S3864 V1080(5\))S1440(A)S1546(null)S1736(terminated)S2201(user)S2403(name)S2655(of)S2773(at)S2880(most)S3109(16)S3243(characters)S3687(is)S3788(retrieved)S4181(on)S4315(the)S(initial)235 4472 A4741(socket.)S5082(This)S3984 V1440(user)S1633(name)S1876(is)S1968(interpreted)S2430(as)S2539(the)S2687(user)S(identity)307 2880 A3212(on)S3337(the)S10 B3485(client)S10 R3721('s)S3819(machine.)S4152 V1080(6\))S1440(A)S1546(null)S1736(terminated)S2201(user)S2403(name)S2655(of)S2773(at)S2880(most)S3109(16)S3243(characters)S3687(is)S3788(retrieved)S4181(on)S

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -