一.安裝
1 安裝依賴包:libssh2-1.2.7.tar.gz (其他依賴包一般系統內建,如果沒有在裝)
#cd depended
#tar –zxvf libssh2-1.2.7.tar.gz
#cd libssh2-1.2.7
#./configure
#make
#make install
2 在/etc/ld.so.conf中加入”/usr/local/lib”
#echo “/usr/local/lib” >> /etc/ld.so.conf
3 運行ldconfig
4 刪除老版本的libcurl
#find / -name libcurl.so.*
#find / -name libcurl.a*
把上面兩條命令執行後找到的檔案刪除。
#rm –f xxxx //xxxx表示找到的curl動態庫與靜態庫。
5安裝curl-7.21.4.tar.gz包
#tar –zxvf curl-7.21.4.tar.gz
#cd curl-7.21.4
#./configure
#make
#make install
#ldconfig
6 驗證libcurl是否安裝成功
#curl --version
如果資訊如下,代表成功:
curl 7.21.4 (i686-pc-linux-gnu) libcurl/7.21.4 OpenSSL/0.9.8b zlib/1.2.5 libidn/1.0 libssh2/1.2.7
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM SSL libz
二.上傳模組設定檔配置
進入設定檔所在目錄:編輯inotify_up.conf。
#cd ../src/up_src
#vi inotify_up.conf
解釋如下:
1. transfer_mode 可以配置三中協議,分別是: ftp , sftp , scp 任選一種
2. server_ip 填寫要上傳到對方伺服器的ip
3.server_port 填寫協議使用的連接埠號碼
4.user_name 填寫使用者名稱
5.passwd 填寫密碼
6.server_dir 表示上傳到對方ip的哪個目錄。注意:如果是ftp協議傳輸,填寫使用者名稱家目
錄的相對位址。例如root使用者的家目錄是/root/ 如果要傳輸到家目錄 配置成:”server_dir = / “ 就行。如果是sftp或scp則填寫絕對路徑。
7.source_file_path 本地監聽的目錄,可配置多個本地目錄,每行一個,如果續行,末尾加
上續行符”\”
8.suffix 表示要監聽的檔案的尾碼名。如”ctr”
9. reflected_suffix 表示.ctr將要對應檔的尾碼,如xml
10. suffix_process表示監聽尾碼名的檔案與實際要處理的檔案名稱的關係。有3種映射關係:
(1)replace 如果監聽aaa.xml.ctr 那麼要傳輸的檔案是aaa.xml.txt
(2)cut如果監聽aaa.xml.ctr 那麼要傳輸的檔案是aaa.xml
(3)no_reflect 如果監聽aaa.xml.ctr 那麼要傳輸的檔案是aaa.xml.ctr
11.is_compress 是否壓縮要傳輸的檔案: yes或no
12.append_okfile 是否在傳輸完檔案後,追加傳輸一個.ok的確認檔案: yes或no
13. sleep_period 單位為秒。表示傳輸周期。
三.上傳模組編譯與使用
進入up_src目錄:
#make
#./run
如果要做定時任務:
在/etc/cron.d/cron_dcol 檔案中加入定時運行指令碼 ,例如如下語句:
*/1 * * * * root /root/transfer/aut_dcol
四.vsftp的配置與添加使用者
1.編輯/etc/vsftpd/vsftpd.conf 添加如下內容:
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=YES
chown_uploads=YES
2. 重啟vsftpd
#service vsftpd restart
#chkconfig vsftpd on
3. vsftpd使用者增加:
#adduser ftpuser //添加使用者
#mkdir –p /home/pcap_file //建立家目錄
#usermod –g ftp user1 //修改使用者usermod –d /home/pcap_file –g ftp ftpuser
#vim /etc/passwd //修改ftpuser的家目錄為/home/pcap_file
#pwconv //更新/etc/passwd與/etc/shadow同步
#chown –R ftpuser.ftp /home/pcap_file
#passwd ftpuser //修改使用者名稱的密碼
4 以下問題可能由selinux產生的可能:
關於ftp使用者串連時出現500 OOPS: cannot change directory:/root報錯,selinux 預設下是沒有開啟FTP的支援,所以訪問時都被阻止了。
解決辦法1:
a. 查看SELinux設定
# getsebool -a | grep ftp
發現如下:
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_connect_db --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
或者
ftp_home_dir–>off
b. 使用setsebool命令開啟以上所有開關,例如:
# setsebool ftpd_disable_trans 1 或者 # setsebool ftp_home_dir 1
c. 查看目前狀態是否是on的狀態
# getsebool -a|grep ftp
此時
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> on
allow_ftpd_use_nfs --> on
ftp_home_dir --> on
ftpd_connect_db --> on
sftpd_anon_write --> on
sftpd_enable_homedirs --> on
sftpd_full_access --> on
sftpd_write_ssh_home --> on
d. 最後重啟 # service vsftpd restart
OK,問題解決了。
另外 setsebool 使用-P參數,無需每次開機都輸入這個命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
解決辦法2:
關閉SELinux:修改/etc/selinux/config檔案中的SELINUX="" 為 disabled ,然後重啟。