2010年3月11日

[Solaris] 調整設定檔之注意事項 & vi 使用技巧 (設定密碼重設不可使用3代以內的密碼 & ssh 登入失敗達 3 次 即斷線)

昨天因為資安的需要,動手修改了 19 台 Solaris 主機的設定,以下記錄過程中遇到的問題 & 發現的小技巧。

我要實作的設定包括:
  1. 密碼重設不可使用3代以內的密碼:修改 /etc/default/passwd 檔案,設定 HISTORY=n (n代)
  2. 帳號登入失敗達3次即斷線:修改 /etc/ssh/sshd_config 檔案,設定 RETRIES=n (輸入密碼時可錯誤 n 次,第 n+1 次輸入錯誤時即斷線)。設定完畢以後要 restart sshd daemon,方法請參考 solaris restart sshd 一文中最下面的一個回應,以 root 身分執行此指令:/lib/svc/method/sshd restart。(在 Linux 上 restart sshd daemon 的指令為:service sshd restart,或者 /etc/rc.d/init.d/sshd restart)
以上的設定都可參考 Solaris-強化密碼的安全性一文中的說明。

在修改設定檔時必須要使用 vi 這個編輯器,跟友善的 Linux 不同,Solaris 上的 vi 相當的難用(或者該說很難上手),因此我首先參考的是 vi editor Quick Reference 這篇文章,通常都是以 vi 打開欲編輯的檔案後,移動游標到想要修改的那一行(例如:#HISTORY=0)的上一行,按「O」新增一個空白行,再手動重新打一次我想要的設定值(例如:HISTORY=3),接下來按「Esc」跳出編輯模式,把游標移到原本的那一行(#HISTORY=0),按「dd」把這行刪掉。

為什麼要這麼麻煩呢?總之 vi 這東西在 Solaris 上很難用就對了,用這樣的方法是我覺得最單純的(雖然看起來很蠢),如果之後有空會再慢慢研究更好的修改方式。

補充1:雖然修改 /etc/default/login 檔案也可達到如修改 /etc/ssh/sshd_config 的作用,但是很多位於 /etc/default 目錄下的檔案都是連 root 都沒有寫入權限的 (例如 /etc/default/passwd),因此我在調整設定前必須要先下 chmod u+w passwd 指令,讓 passwd 檔案變成可以寫入,調整完設定值之後,再下 chmod u-w passwd 指令來移除寫入權限,以確保系統檔案的讀寫權限在調整設定前後維持一致。

由於修改讀寫權限太麻煩了,而且在 Linux 系統中沒有 /etc/default 這個系統內建目錄,必須修改 /etc/ssh/sshd_config 檔案,為了讓 Linux 和 Solaris 所修改的檔案相同,未來方便維護,因此在 Solaris 上也採取修改 /etc/ssh/sshd_config 的方式。

補充2:Solaris 的設定檔有個跟 Linux 設定檔非常大的不同,那就是每一行設定值的後面不能摻雜註解!舉例來說,以下這行設定在 Linux 上可以正確執行:

MaxAuthTries 3 #modified by Tim

但是在 Solaris 上就不行,這行設定值會變成無效!(然後系統就會套用該設定值的預設值) 要讓設定值正確的生效,必須把 Linux 上面的一行拆成以下兩行:

#modified by Tim
MaxAuthTries 3

以上就是昨天調整 Solaris 主機設定的心得啦,希望以後跟 Solaris 可以越來越熟 :O)

沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D