星期三, 9月 24, 2014

lsyncd 安裝 + 免密碼登入ssh

yum install rsync xinedtd
vi /etc/xinetd.d/rsync
disable = yes 改成
disable = no
/sbin/service xinetd start
chkconfig xinetd on

安裝epel
wget http://mirror01.idc.hinet.net/EPEL/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
安裝 lsyncd
yum install lsyncd
設定 epel
vi /etc/lsyncd.conf
加入下述內容
# 不知道怎麼回事,在使用者模式下命令是正常,但是放在服務下就失敗
# 一直是ssh permission的問題,試了半天,重點是rsh時要指定使用者(-l), 及其 private key (-i)
settings{
    statusFile = "/var/run/lsyncd.status",
    logfile = "/var/log/lsyncd.log",
    nodaemon = false,
--    insist = true,
    log = all
}
sync{
    default.rsync,
    source="/home/cmd/disk1/send2ntu",
    target="192.168.4.11:./or1/",
    rsync={
       binary = "/usr/bin/rsync",
       rsh = "/usr/bin/ssh -i /home/cmd/.ssh/id_rsa -l cmd -o StrictHostKeyChecking=no",
       compress = true,
       sparse = true,
       update = true,
       links = true,
       times = true
    },
    delay = 10
}
# 完成之後存檔,/sbin/service lsyncd restart 即可啟動。 
# 測試正常之後即可設定開機啟動 chkconfig lsyncd on
# selinux issue:
# 很煩,弄了很久,一直有如下的錯諤訊息
#rsync: Failed to exec sudo: Permission denied (13)
#rsync error: error in IPC code (code 14) at pipe.c(84) [sender=3.0.6]
#rsync: connection unexpectedly closed (0 bytes received so far) [sender]
#rsync error: error in IPC code (code 14) at io.c(600) [sender=3.0.6]
#測試了老半天之後,想到 selinux 定理:就是查不出原因的錯誤,而且打指令可以執行,放到服務裏就不行
#那九成是selinux出包,用如下指令暫時關掉 selinux
# echo 0 > /selinux/enforce 
# 再重新啟動 lsyncd 竟然正常,那就就定selinux 得設定
# 這裏講一下新工具,allow2audit,它可以分析autit.log檔,並且幫忙產生設定檔,用就是了!!
# 執行下面的指令,把audit.log裏關於AVC與rsync的問題丟給audit2allow 處理,
cat /var/log/audit/audit.log | grep AVC | grep rsync | audit2allow -M  rsyncissue
#******************** IMPORTANT ***********************
#To make this policy package active, execute:
#
#semodule -i rsyncissue.pp
#寫會產生rsyncissue.pp 與 rsyncissue.te 二個檔案,後面那個可以看看,前可那個是二進位檔,用下面的指令設定
semodule -i rsyncissue.pp
#就幫你把問題解決了!!!!
#不過有時候上面的二個步驟要多做幾次才行,因為你知道的,selinux就是那麼複雜。
安裝allow2audit
它是一個關於selinux policy管理的套件組中的一個程式
如果用yum知道哪個套件組有它?請用下面的指令
yum provides */allow2audit
免密碼登入ssh主機
ssh-keygen -t rsa -C "mdchiou@ntu.edu.tw"
#輸入上述指令後,下面三個問題都直接enter即可
Generating public/private rsa key pair.
Enter file in which to save the key (/home/or1/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/or1/.ssh/id_rsa.
Your public key has been saved in /home/or1/.ssh/id_rsa.pub.
#至此即產生完金鑰與私鑰,再透過下面的指令把私鑰上傳至欲登入的主機
ssh-copy-id user@IP
#就這樣,超方便der
安裝samba
yum install samba.x86_64
pdbedit -a user1 # linux已經存在的帳號如or1...
#修改iptables 開放 139 445
#修改selinux 權限開放家目錄
setsebool -P samba_enable_home_dirs on