http://zoe.nuper.com/linux/linux_ch11.php
http://tw.myblog.yahoo.com/ok-free/article?mid=5970&prev=5971&next=5969
$ sudo apt-get install xinetd telnetd
裝好後會出現訊息說以下這一行已加進 /etc/inetd.conf
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnet
代表服務名稱(service)為telnet
使用tcp協定的連線類型為stream (UDP為datagram)
並選用nowait (不須等待上一個請求結束,就可執行)
執行程式時的身分為root
採用Tcp Wrapper機制,即先交由 /usr/sbin/tcpd檢視 /etc/hosts.allow、
/etc/hosts.deny,確定通過後才呼叫後面的程式執行相關服務。
但如果實際上是使用 xinetd,則必需即上面的東西轉為 /etc/xinetd.conf
的格式並手動加進去
/etc/xinetd.conf 定義所有經由inetd super daemon來提供服務的設定:
defaults
{
# Please note that you need a log_type line to be able to use log_on_success
# and log_on_failure. The default is the following :
# log_type = SYSLOG daemon info
instances = 60
log_type = SYSLOG authpriv
log_on_success = HOST PID
log_on_failure = HOST
cps = 25 30
}
includedir /etc/xinetd.d
說明 :
instances:設定單一服務在同一時間所能提供最大連線數60,若設定UNLIMITED則無連線數限制。
這裡的設定,主要是用來防止dos之類的中斷攻擊。
log_type:表示透過syslogd的執行來做記錄,代表與認證相關的訊息類別。
log_on_success:若client能成功連上server,就會記錄client主機位址及行程PID。
log_on_failure:若連線失敗則只記錄client主機位址。
cps:第一個數字25表示每秒能掌控的連線數,若超過25則連線暫停。
第二個數字30表示從連線暫停到重新啟動服務的時間為30秒。
檔案最後尚有一行敘述:includedir /etc/xinetd.d
代表所有使用inetd daemon的服務,其設定值所在的目錄位置。
手動建立 /etc/xinetd.d/telnet,並加入以下內容:
# default: on
# description: The telnet server serves telnet sessions; it uses \
# unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
說明:
service telnet 服務名稱為telnet,須與 /etc/services內的名稱一致。
disables = no 欲接受連線時,要將yes改no。
socket_ type = stream 連線類型。TCP為stream,UDP為datagram。
wait = no 不須等待上一個請求結束,就可執行。一般stream選擇使用no。
user = root 啟動服務程式的身份。
server = /usr/sbin/in.telnetd 執行主程式。
log_on_failure += USERID 在原先設定基礎上再加上UID。
重啟機器或重啟網路服務 sudo /etc/init.d/xinetd restart
● 開啟第二個port供telnet連線
想要在port 23以外再多開一個port 2300來用
修改 /etc/services 加入:
telnet2 2300/tcp
修改 /etc/inetd.conf 加入:
telnet2 stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnet
在 /etc/xinetd.d/ 下新增一個 telnet2 檔,內容為:
service telnet2
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
在防火牆打開port 2300
重啟網路服務 $ sudo /etc/init.d/xinetd restart
檢查看看是否port 23跟port 2300都有在listen
$sudo netstat -atnp | grep xinetd
○ 若要裝ssh
sudo apt-get install ssh
○ 修改登入訊息
登入前的訊息記錄在 /etc/issue.net
預設訊息是:
Ubuntu 8.04.1
這個訊息只有 telnet 登入會看到,可使用 \d 等代號
登入後的訊息記錄在 /etc/motd ,這是一個軟連結指向 /var/run/motd
而這個檔案每次開機都會變成以下的預設訊息:
Linux disp 2.6.24-19-generic #1 SMP Wed Aug 20 22:56:21 UTC 2008 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
所以要更改的話,建立一個 /etc/motd.static 並使 /etc/motd 改指向這個檔即可
這個訊息用 SSH 登入也會看到,且無法使用 \d 等代號
○ 使 telnet 登入預設語系為 big5
修改 /etc/bash.bashrc 在最後面加上:
if ["$TERM" == "vt100"] || ["$TERM" == "ansi"]; then
LANG=zh_TW.big5
fi
○ 使 telnet 提示字元為彩色
修改 ~/.bashrc 在
if ["$color_prompt" = yes]; then
前面加上:
if ["$TERM" == "vt100"]; then
color_prompt=yes