發表文章

目前顯示的是 八月, 2016的文章

Linux操作不求人 - 肆章之貳 - 伺服器架設(II) - 郵件伺服器 - postfix 與 dovecot

圖片
CentOS6_x64 在預設狀態下,通常已經有開啟發 email 的伺服器軟體 postfix,但僅限制在本機(localhost / 127.0.0.1 ) 使用,且僅是讓系統可以傳送錯誤訊息給 root。故我們要經由設定,讓電腦主機內的使用者帳號,皆可以收發 email,而我們用的送信軟體為 postfix,負責 smtp 的部分( https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol ) ,收信軟體則為 dovecot,負責 pop 或 imap ( https://en.wikipedia.org/wiki/Post_Office_Protocol,https://en.wikipedia.org/wiki/Internet_Message_Access_Protocol )的部分,收發信機制的運作機制,可參考wikipedia,https://en.wikipedia.org/wiki/Email,筆者不再贅述,直接說明架設伺服器軟體的操作。先利用 rpm -qa | grep postfix 與 rpm -qa | grep dovecot 來查詢是否已經有安裝,若無,則利用 yum install postfix 與 yum install dovecot 來安裝。除此之外,再利用 chkconfig | grep postfix 與  chkconfig | grep dovecot 來確認是否有在開機時啟動,若想自動化開機啟動,再請設定 chkconfig --level 235 postfix on 與  chkconfig  --level 235 dovecot on 來載入。 如圖4-10與圖4-11:
































(圖4-10)
















(圖4-11)

     接著我們利用 vim 來修改 postfix 設定檔  /etc/postfix/main.cf 。相同地,我們先閱讀設定檔內容前面的說明,postfix 的作者相當細心,每個設定前的說明很詳細,故設定檔很長,請讀者要有耐心閱讀,如圖4-12-1 至 圖4-12-7。往後篇章若設定檔內容太長,筆者便不再列出,會直接說明新增與修改處,在此先說明。




























































































(圖4-12-1)




























































































(圖4-12-2)





























































































(圖4-12-3)





























































































(圖4-12-4…

Linux操作不求人- 肆章之壹 - 伺服器架設(I) - SSH(SFTP、SCP)、FTP伺服器與遠端連線

圖片
@ ssh, sftp 
    通常安裝好 CentOS6_x64 作業系統後,sshd, ssh daemon 的服務功能是預設開啟的,如筆者的前面篇章所述,預設的 iptables 防火牆設定,亦是開啟讓 ssh 的連線是可通過的,不僅可以連出,也可以被連入。若要確認是否有安裝 sshd 套件以及在啟動時的 runlevel 2 3 5 是否有被載入,可以使用以下指令搜尋:
$   rpm  -qa  |   grep  openssh    #  ssh 與 sshd 連線服務皆由 openssh 應用軟體提供。 或使用以下 $   rpm  -qa  |   grep  ssh        #  比用關鍵字 openssh 搜尋更模糊,故符合的條件更多。
     如圖4-1可以查詢到有關於 openssh-client 與 openssh-server 的套件, openssh-server 便是提供連入服務的軟體,openssh-client 為提供可以連出的工具。若無以上套件,則使用 yum install openssh ,則可下載安裝。


















(圖4-1)
再接著輸入以下指令查詢到 sshd 這個服務,是否有再開機程序內載入,如圖4-2 $ chkconfig | grep ssh  # 查詢 sshd 是否有於 開機 runlevel 啟動 再利用以下指令,來查詢是否防火牆有允許連線 $ iptables  -L  |  grep ssh   # 出現如圖4-2 允許通過之條件









(圖4-2)
     接下來,我們要先來調整 sshd 的設定檔,利用 vim  /etc/sshd/sshd_conf,如圖4-3-1與4-3-2。因為設定檔參數很多,筆者為方便說明,將 /etc/sshd/sshd_conf 檔案內容分成兩張圖。






































(圖4-3-1)






































(圖4-3-2)
     首先,筆者強烈建議設定前,先閱讀 /etc/ssh/sshd_config 檔案內容前幾行的說明,如之前我們做任何的服務設定前,務必閱讀說明文字。說明告訴我們,若要更動預設參數設定,可以移除符號 # ,並更改後面的參數值。而我們要改動的參數主要為以下幾項: Port   22 /*  一般 ssh 預設的 port 為 22,所以〝你知道、我知道、獨眼龍也知道〞,故建議可以更換預設 p…

Linux 操作不求人系列- 參章之捌 - 系統管理(VIII) - 系統備份與資料救援

圖片
一般來說,系統與資料備份是防範資料遺失最好的方法,無論儲存體是否有做磁碟陣列的RAID 方法(RAID,https://en.wikipedia.org/wiki/RAID,https://en.wikipedia.org/wiki/Standard_RAID_levels)。而備份的儲存地點,又可分為近端(或本地端)與遠端(異地端),近端可能備份於同一個機器內,如 /dev/sda1 掛載到 /media/sda1 的資料,備份到 /dev/sdb1 掛載的 /media/sdb1,為不同硬碟間的備份。或是同一個機房間的,但同儲存環境間的備份,如備份到同電腦主機外接的 Thuderbolt、USB、光纖儲存裝置、或是同機房內的 NAS。遠端則透過網路、網際網路,可以備分到其他機房,不同區域或國家的方法。備份的複製方法,可分為鏡像備份、增量備份、差異備份,可依需求、備份總量與時間來做複製策略的調整。通常備份最方便的方法為利用指令 cp ,假設您已插上USB外接硬碟,其掛載為 /media/sdc1 ,且可讓一般使用者備份,則可使用指令如以下:
@cp
$cp  -ru  ~/bin  /media/sdc1/backup/ 
/* 將您放在~/bin 資料夾下,自己寫的執行檔,連同 ~/bin 資料夾,備份到 /media/sdc1/backup/ 資料夾下,則會在 /media/sdc1/backup 產生一個資料夾名為 bin, 若路徑無 backup 資料夾,可先用 mkdir /media/sdc1/backup。參數 -r (recursive) 為複製資料夾與以下所有子資料夾與子檔案,參數 -u (update)為若目的位置內已經有相同檔名的檔案,若來源的檔案較新,則使用覆蓋原本檔案,否則便不需複製。  */

$ cp  -rudpv  /etc  /home/backup/ | tee ~/backup.log
/* 記得要備分 /etc 或 /var 等 root 權限擁有者的資料夾,請先 su - 轉為 root。參數 -r 為複製資料夾,參數 -d ,為複製後依然保持為連結,而非連結的檔案或資料夾。參數 -p ,為所複製的檔案與資料夾,要維持相同的擁有者與擁有群組,並且讀取、執行與寫入權限皆不變,若無加此參數,則複製後的檔案或資料夾,會同於…

Linux 操作不求人系列 - 參章之柒 - 系統管理(VII) - 系統紀錄與自訂核心編譯

圖片
@ System message log
     CentOS6_x64 的系統紀錄檔,一般是放置於 /var/log 下。所以請讀者,來來來,哩來,哩來,來跨加,用指令 ls  -lh  /var/log  |  more,此章節亦記得請讀者要使用 root 權限來執行,在整個系統管理篇的操作,要時刻提醒自己這件事。我們把指令顯示的各頁面,合併在一起
,如圖3-86,來說明各 log 檔與其所屬的服務分類。而已經啟動與可供啟動的服務,亦可以用指令 chkconfig 來列出各個 init 的服務狀態,亦可利用指令 setup,接著選擇 System Services,或是直接使用指令 ntsysv,便可以對於現在系統的預設 init 狀態 開啟服務的啟用或取消,如圖3-87,筆者為了容易說明,已把分頁的圖拼成一張圖。指令 ntsysv 的服務設定介面,就如同在 MS Windows下,執行指令 services.exe ,來選擇要開啟與關閉的系統各項服務相似。CentOS6 的開機啟動流程,可參閱 https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/ch-boot-init-shutdown.html






































(圖3-86)

     相信乍看到圖3-87的讀者,一定會覺得,哇!這服務也多到靠北,還有看不懂的服務名稱縮寫。但是,其實 MS Windows 開機後所啟動的服務也是很多,除了 services.exe 指令所看到的系統服務(圖3-88左圖),利用 msconfig.exe 指令(圖3-88右圖),再選擇啟動標籤,還可看到其他的啟動程式(圖3-88範例為 MS Windows 10 設定,與 MS Winodws 7 有些不同),或是在點選開始後,選擇程式集,點選啟動資料夾,裡面亦可放置啟動的程式,其實比較起來,也算是夭受骨的多,而這些服務,也跟開機後,剩餘實體記憶體容量息息相關,服務愈多,所剩餘的實體記憶體容量就愈少,剩餘記憶體愈少,則對於要接著要執行工作的大型程式或軟體,影響就很大,故在作業系統內,關閉不需要的服務是很重要的調校工作(tuning)。
     圖3-86我們由上而下來介紹,第一群組分類為
     …