日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

6 Linux管理員手冊--登錄和注銷

說明當(dāng)一個(gè)用戶登錄和注銷時(shí)發(fā)生了什么 。較詳細(xì)地說明后臺(tái)進(jìn)程的各種交互、log文件、配置文件等

通過終端登錄

首先,init 確認(rèn)有一個(gè)getty 程序提供給終端連接(或控制臺(tái)) 。getty 偵聽終端等候用戶告知它要登錄 (這通常意味著用戶必然鍵入些什么) 。當(dāng)它注意到一個(gè)用戶,getty 輸出一個(gè)歡迎信息(存在/etc/issue 中),并提示用戶名,最后運(yùn)行l(wèi)ogin 程序 。login 作為一個(gè)參數(shù)得到用戶名,并提示用戶輸入口令 。如果正確,login 啟動(dòng)給此用戶設(shè)置的shell;否則退出并終止進(jìn)程 (可能在再給用戶一個(gè)機(jī)會(huì)輸入用戶名和口令之后) 。init 注意到進(jìn)程終止,就給這個(gè)終端啟動(dòng)一個(gè)新的getty。

注意唯一的新進(jìn)程是由init 產(chǎn)生的(用fork 系統(tǒng)調(diào)用); getty 和login 只是替代進(jìn)程運(yùn)行的程序 (使用exec 系統(tǒng)調(diào)用) 。

為注意用戶,串行線需要一個(gè)單獨(dú)的程序,因?yàn)榻K端活動(dòng)時(shí)可以(傳統(tǒng)上也是)變得復(fù)雜 。getty 也適應(yīng)連接的速度和其他設(shè)置,這對撥號(hào)連接特別重要,因?yàn)檫B接和連接的參數(shù)可能不同 。

getty 和init 有多個(gè)版本在使用,各有優(yōu)缺點(diǎn) 。學(xué)習(xí)你的系統(tǒng)的版本也了解其他版本是個(gè)好主意(你可以用 Linux Software Map來找 。)如果你沒有撥入,可能不必考慮 getty ,但 init 仍然很重要 。

通過網(wǎng)絡(luò)登錄

一個(gè)網(wǎng)絡(luò)中的2臺(tái)計(jì)算機(jī)通常通過一個(gè)物理電纜連接 。當(dāng)他們通過網(wǎng)絡(luò)通信是,參與通信的每個(gè)計(jì)算機(jī)里的程序通過虛擬連接virtual connection通信,即一些虛構(gòu)的電纜 。虛擬連接的每端的程序,獨(dú)占自己的(虛擬)電纜 。然而,因?yàn)檫@電纜不是真的,只是虛構(gòu)的,所有計(jì)算機(jī)的操作系統(tǒng)可以在同一物理電纜上有多條虛擬連接 。這樣,只用一條電纜,多個(gè)程序可以不必考慮其他通信而相互通信 。使用同一電纜使多臺(tái)計(jì)算機(jī)是可能的;2臺(tái)計(jì)算機(jī)間存在的虛擬連接,其他計(jì)算機(jī)會(huì)忽略他們不參加的連接 。

那是一個(gè)復(fù)雜和抽象的真實(shí)描述 。但可能足夠理解網(wǎng)絡(luò)登錄與普通登錄的不同的重要原因 。不同計(jì)算機(jī)上的2個(gè)程序要通信時(shí),虛擬連接建立 。由于理論上可能從網(wǎng)絡(luò)上的任何一臺(tái)計(jì)算機(jī)登錄到任何一臺(tái)計(jì)算機(jī),因此可能有極大數(shù)量的潛在的虛擬通訊 。因此,為每個(gè)潛在的login啟動(dòng)一個(gè)getty 是不現(xiàn)實(shí)的 。

有一個(gè)進(jìn)程inetd(與getty 協(xié)同)處理所有的網(wǎng)絡(luò)登錄 。當(dāng)它發(fā)現(xiàn)一個(gè)進(jìn)來的網(wǎng)絡(luò)登錄(即發(fā)現(xiàn)某臺(tái)其他計(jì)算機(jī)來的新的虛擬連接), 它啟動(dòng)一個(gè)新進(jìn)程來處理那個(gè)登錄 。原來的進(jìn)程繼續(xù)偵聽新的登錄 。

更復(fù)雜的是,網(wǎng)絡(luò)登錄有多個(gè)通訊協(xié)議 。2個(gè)最重要的協(xié)議是 telnet 和rlogin。除了登錄,還有許多其他虛擬連接可能建立(為FTP、Gopher、HTTP和其他網(wǎng)絡(luò)服務(wù)) 。為要偵聽的每種類型的連接提供一個(gè)進(jìn)程不是很有效,因此,只用一個(gè)偵聽器來識(shí)別連接的種類,能啟動(dòng)正確的程序來提供服務(wù) 。這個(gè)偵聽器叫inetd ;更多的信息請見《Linux網(wǎng)絡(luò)管理指南》 。
login干了些什么

login 程序負(fù)責(zé)認(rèn)證用戶(確認(rèn)用戶名和口令相配),并建立串行線,啟動(dòng)shell,建立用戶的初始環(huán)境 。

部分初始化設(shè)置是輸出文件/etc/motd (每天的短信息)的內(nèi)容,并檢查電子郵件 ??梢栽谟脩艏夷夸浿挟a(chǎn)生一個(gè)叫.hushlogin 的文件來是上面所述的失效 。

如果存在文件/etc/nologin ,就不允許登錄 。這個(gè)文件一般由shutdown 及其相關(guān)的東西產(chǎn)生 。login 檢查這個(gè)文件,如果這個(gè)文件存在,就拒絕接受登錄 。如果這個(gè)文件確實(shí)存在,login 就會(huì)在退出之前,將它的內(nèi)容輸出到終端 。

login 將所有失敗的登錄企圖登記在系統(tǒng)log文件中 (通過syslog ) 。它也登記所有的root的登錄 。這些都對跟蹤入侵者有用 。

推薦閱讀