我要實作的設定包括:
- 密碼重設不可使用3代以內的密碼:修改 /etc/default/passwd 檔案,設定 HISTORY=n (n代)
- 帳號登入失敗達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)
在修改設定檔時必須要使用 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)
沒有留言:
張貼留言