Monday, July 5, 2010

named的forward only

給未來的裕翔

一開始以為/etc/named.conf
裡面的forward only是把query一律丟給forwarders

所以自己設定的就會找不到

但似乎不是這樣?

它代表的意思好像是

"總是向DNS server作查詢"

(包括自己設定的和外部的)

"而不管cached answer"

後記: 不!!! 我似乎搞錯了!!!

forward only和forwarders是一組的

假設forward沒指明要only的話

它代表的意思是, 每當查詢時, 先向forwarders查詢

查不到再自己去跟root dns查詢(有cache的話當然就直接用)

所以把forward想成forward first應該是ok的

但如果指明要forward only, 那就是只會向forwarders查詢

糾正自己的感覺真爽^^

ref: http://www.akadia.com/services/howto_forward_dns.html

Sunday, July 4, 2010

selinux不准httpd去碰/tmp

給未來的裕翔

access我實在不知道該怎麼翻

暫且稱之為'碰'吧

多簡單明瞭阿^^

翻的太漂亮也只會是失敗的教學~

後記: 不准碰的似乎不只/tmp

至少/var/www/virt1/cgi-bin也不行

Saturday, July 3, 2010

fedora 13架samba

給未來的裕翔

首先安裝samba, samba-common, samba-client套件

當然, 我目前還不確定每個套件的必要性

裝好之後, 設定/etc/samba/smb.conf

依照需要設定好

特別注意那個writable和read list

如果要檔案mask

它的directive是create mask = 0660, 類似這樣設定

順便講一下, 原來public就是guest ok阿~

設定好之後, 要分享出去的資料夾要

chcon -t public_content_rw_t shared-dir

應該也可以chcon -t samba_shared_t shared-dir

然後setsebool -P allow_samba_anon_write 1

如果是要開放家目錄的話, 還有一個setsebool要作

setsebool -P samba_enable_home_dirs 1

不過不知道為什麼, 我分享的資料夾

如果路徑上的每個資料夾保持原來的context就會失敗

都要改

最後, 如果samba client是要mount的話, 那這樣就可以了

如果是要用ftp是使用samba

防火牆要加開445/tcp

Friday, July 2, 2010

postfix架設在fedora 13

給未來的裕翔

雖然知道每個distribution都大同小異

可是每當我自己用fedora練習時

總是會遇到幾個'小異'

都是些用redhat不會碰到的

'小異'說多不多, 個個搞死我

因此邊操作邊寫筆記

首先, 如果想要架一個可以收信的MTA by postfix

請先記得把剛剛修改過得/etc/aliases復原

以我的例子, root:   xxxxx

這樣就算我把postfix設定到可以收信

在mail server的root一輩子也收不到信......

改完之後, 也別隨手newaliases, 請先到/etc之下再用

接著, 設定一個fedora 12似乎不需要的步驟?

setsebool -P allow_postfix_local_write_mail_spool 1

不過有時似乎還是會失敗?

看/var/log/maillog的訊息

把/var/mail/root.lock刪除或改名就可以了

當然, 如果一開始就不存在那就更好啦^^

以上是雜七雜八的設定

接著設定/etc/postfix/main.cf
myhostname = nvlab179.ee.nthu

(只寫nvlab179會失敗)

mydomain = ee.nthu
myorigin = $myhostname
inet_interfaces = all

以上是可以收信的設定

讓我驚訝的是, postfix預設幫任何人relay?

除非我反註解/etc/postfix/main.cf的

mynetworks_style = host

如果有設定mynetworks, 那上一行的設定就會被忽略

建議直接利用mynetworks作存取控管

mta只幫有紀錄的對象作relay

ex:

networks = 140.114.0.0/16

那~ /etc/postfix/access就不需要它啦~(我使用它也沒成功過)

至於postfix底下的alias, 使用跟sendmail一樣的操作即可

不需要特地變成講義上的postalias hash:/etc/aliases

大概就是這樣吧^^

Thursday, July 1, 2010

yum的reinstall

給未來的裕翔

如果想要恢復某些套件的config初始設定

可以笨笨的把它移除再重新安裝

不過萬一有一堆套件相依舊慘了

所以這裡建議

直接笨笨的把它重新安裝吧^^

yum reinstall xxx

要注意的是

如果檔案原本已存在, 不會覆蓋

所以要把config砍掉或是改名當備份

然後才執行yum reinstall xxx

dovecot架設&自己發行憑證

給未來的裕翔

dovecot的安裝架設非常簡單

sudo yum -y install dovecot

然後去sudo vim /etc/dovecot.conf

把protocols那行反註解

照理說到這邊就可以用了

偏偏接下來還要多增加一個設定才可以使用
mail_location = /var/spool/mail/%u

那如果要自行發行憑證的話

make -C /etc/pki/tls/certs dovecot.pem

-C是change directory, 好像因為發行憑證需要的makefile在那裡

那接下來就是一般資訊填寫

填好之後就產生在/etc/pki/tls/certs

要使用它的話要修改/etc/dovecot.conf
ssl_cert_file = /etc/pki/tls/certs/dovecot.pem
ssl_key_file = /etc/pki/tls/certs/dovecot.pem

架sendmail收信

給未來的裕翔

似乎是第一次成功用sendmail當mta

筆記記一下

首先, 安裝sendmail和sendmail-cf套件

說實在的, 我不確定sendmail-cf實質功能

改天再來測試是否必要

假設現在我有兩台電腦

一台是mail server: nvlab179.ee.nthu

一台是mail client: nvlab187.ee.nthu

先在sendmail.mc做基本設定

cd /etc/mail

vi sendmail.mc
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

把上行用dnl註解掉

然後m4 sendmail.mc > sendmail.cf

service sendmail restart

光是這樣的話, mail client寄信會被退件

"Relaying denied"

新增一個relay-domains檔

裡面寫.ee.nthu這樣會改變錯誤訊息

而且發生在mail server端

所以還需要修改local-host-names

後來發現, 直接修改local-host-names即可!!!

vi local-host-names
nvlab179.ee.nthu

使用telnet nvlab179.ee.nthu 25

mail client寄信給自己的話

自己的防火牆記得要開port 25

要設定RELAY的話

vi access

140.114.28 RELAY


然後make access.db

不需重啟sendmail

不知為啥, 如果要寫domain的話

要寫在relay-domains(預設不存在0)

vi relay-domains


.ee.nthu


然後service sendmail restart

萬一我希望, 寄給root的信都寄給使用者garbage

vi /etc/aliases


root: garbage


然後newaliases就好

注意, root不會留底 直接寄給garbage