K-line命令的格式
K-line 的基本命令格式有二:
kline nickname :reason
kline username@hostmast :reason
其命令的結果,將會在所在的伺服器記憶體中,添加一條k-line記錄,伺服器將會立即檢查該伺服器上是否存在符合該nickname或者username@hostname特徵的用戶,若有,則立即斷開該用戶連線;若無,則在符合該nickname或者username@hostname特徵的用戶登入時,斷開該用戶的連線;同時向該用戶的客戶端給出類似“You have been k-lined from this server. ”的信息。
K-line命令示例:
kline japanpig :Banned by pc on 9.18
kline japan* :Banned by pc on 9.18
kline *@123.123.123.* :FloodBanned by pc on 12.9
kline *@*.tele???.jp :GetOut!
kline usa@* :FloodBanned by pc on 12.9
K-line命令的效力範圍及所需許可權
K-line命令屬於伺服器端命令,因此只有當發出命令的是具有伺服器端許可權的用戶時,該命令才會被伺服器執行。對普通用戶而言,用戶模式中應具備 o 以上的模式,(包括 o, O, a, A 等),也即用戶身份應該起碼是所在伺服器的操作員(operater)。
由於irc網路通常是多伺服器相互連線構成的,因此,普通的K-line的效力僅及於通常僅影響執行該命令的伺服器,也即本地伺服器。也就是說,當符合特徵的用戶在某個伺服器上被k-line後,依然可以在其他伺服器上正常登入。所以,K-line通常又稱為本地殺線或單伺服器殺線。
在irc網路上,具備伺服器管理員身份或者服務系統管理員身份的用戶(模式含有A或a)可以同時對網路上所有的伺服器執行k-line,也就是全局殺線。對伺服器管理員,通常是執行gline命令;對服務系統管理員,通常是執行akill命令。
K-line信息的查詢
k-line命令會在本地伺服器的記憶體中留下臨時性的所殺線的nickname或者username@hostmask的記錄。這樣的記錄可以通過stats命令查詢,查詢許可權為o模式以上用戶(本地伺服器操作員以上)。格式為:
stats k servername
如果是查詢本地伺服器,則servername可以預設;如果是查詢非本地伺服器,則需指定所需要查詢的伺服器名(severname)。
K-line命令的解除
1. 與K-line命令對應的命令,是unkline命令,其格式基本同kline命令,只是不需要提供reason了。
命令格式: unkline nickname 或 unkline username@hostmask
在使用unkline命令前,通常應先執行 stats k 命令, 查詢所需要解除的是什麼樣的k-line,所解除的kline必須是完全與所添加的kline記錄完全一致的內容。
2. 由於k-line命令是在
伺服器記憶體添加臨時性的記錄,因此,在下列情況下,本地伺服器上所有的kline所添加的記錄會被自動解除
1)伺服器重啟:無論是伺服器的物理性重啟,還是ircd server 程式的重啟,都會導致記憶體中的k-line記錄消失。因此,當重啟後,本伺服器上原來的k-line均被解除。管理員可通過restart命令強制伺服器重啟。
2)伺服器重新讀入記憶體數據:管理員執行rehash命令後,伺服器會在不重啟的情況下,重新讀取硬碟上的ircd.conf檔案,並裝入其中的記錄,由於普通的K-line不會被寫入硬碟的ircd.conf檔案中,因此本伺服器上原有的k-line記錄會消失,相當於一次性撤銷本伺服器上所有k-line。
3. 全局的殺線,需要區分情況進行解除。通過伺服器端gline命令執行的,用ungline命令解除;通過服務系統端(services) akill命令執行的,用unakill命令解除。
K-line命令的注意事項
K-line命令的本質是在伺服器上添加可以支持
通配符(?,*)的殺線記錄,它可以禁止符合條件的所有用戶進行登錄,所以,K-line命令屬於“大規模殺傷性武器”(大殺器),因此,在執行K-line時,需要十分謹慎。應注意如下事項:
1. 仔細檢查所添加的命令對象是否精確,儘量避免對大規模的ip地址段或人數眾多的username實施Kline。
2. K-line所針對的用戶,通常是在聊天網路上嚴重擾亂聊天網路正常秩序的用戶,或對聊天網路存在技術性威脅的殭屍群(Zombies,被木馬所控制登錄的用戶);因此,執行K-line命令,原則上儘量不應針對普通用戶,尤其不能是因介入普通聊天用戶之間的個人紛爭而執行K-line。
3. 新上手的o級以上操作員在執行kline前,應先諮詢其他管理員看看是否有相關的限制。同時切記要先確認自己以及本伺服器上其他管理員的username@hostname,被執行的kline對象中,不要把自己和其他管理員給包括了進去。尤其是有的新手面對正在進行的flood攻擊時,可能會手忙腳亂地執行 kline *@* :banned 這樣的命令,會導致本伺服器所有人集體被殺線。
4.在執行kline命令時,儘量給出明確的理由解釋,標明是由誰在何時因何原因執行的kline,以免引起本伺服器其他管理員的誤解。