ftp服務器的配置
安裝vsftpd-2.0.5-12.el5包
查看可配置文檔
配置主配置文檔
Vim /etc/vsftpd/vsftpd.conf
12行表示允許匿名帳號登陸
15行表示允許本地帳號登陸
在這裏添加一行
表示可以在家目錄裏面有下載的權限
注意還要改寫家目錄的權限
Chmod o+wt pub/
19行也要打開
28行表示允許匿名帳號可以上傳
32行表示匿名帳號可以有創建目錄的權限
33行表示匿名帳號有修改的權限
53行表示日誌存放的文件
56行表示如果要開始日誌功能把NO改稱YES
要看更詳細的日誌信息要插入一行
不過上面的56行要保持No的狀態
86行一個說明信息表明你是一個什麼樣的ftp服務器
90,91表明可以用郵箱登陸並且把ftp信息發送至這個郵箱帳號
不建議開啓這兩行
97表示禁錮帳號登陸ftp的家目錄
100行表示禁錮帳號存放的文件
119表示啓用帳號登陸限制
在/etc/vsftpd/vsftpd.conf下面有個user_list文件裏面存放要限制登陸的帳號
如果120行=YES那麼表示對這個文件裏的帳號進行限制登陸,如果=NO表示允許這個文件裏的帳號進行登陸
121行表示一個簡易的防火牆.,和他相關的兩個文件
hosts.allow
hosts.deny
hosts.allow文件裏面存放的是表示允許某主機可以登陸,如果這裏面沒有匹配那麼和hosts.deny中的進行匹配如果匹配的上那麼禁止這個主機登陸如果不匹配那麼允許這個主機登陸
對ftp啓用證書加密認證
以linux爲頒發機構同時又是CA server
1:Cd /etc/pki/tls
Ll tls
可以看到
total 40
lrwxrwxrwx 1 root root 19 Aug 1 05:31 cert.pem -> certs/ca-bundle.crt
drwxr-xr-x 2 root root 4096 Aug 1 05:34 certs
drwxr-xr-x 2 root root 4096 Aug 1 05:31 misc
-rw-r--r-- 1 root root 9831 Aug 17 22:53 openssl.cnf
drwxr-xr-x 2 root root 4096 Aug 1 05:34 private
然後vim openssl.cnf
把45行改成
dir = /etc/pki/CA # Where everything is kept
然後wq保存退出
2:接着生成證書的私鑰
Cd /etc/pki/CA
用openssl工具生成
Openssl genrsa 1024 >private/cakey.pem
3:接着用私鑰生成CA自己的證書
Openssl req –x509–new –key private/cakey.pem –out cacert.pem –days 3650
然後填寫註冊信息
4:用上面的這個CA爲本linux站點頒發證書
創建一個文件夾專門存放唄頒發的證書文件
Mkdir /etc/vsftpd/certs
5:接着生成站點的證書鑰匙
Cd /etc/vsftpd/certs
Openssl genrsa 1024 >vsftpd.key
6:爲了安全起見更改這個文件的權限
Chmod 600 vsftpd.key
7:用這個密鑰爲站點頒發證書
Openssl req –new –key vsftpd.key –out vsftpd.csr
8:創建所需要的目錄和文件(注意是在/etc/pki/CA)
Mkdir certs crl newcerts
Touch index.txt serial
9:給serial一個號碼
Echo “01” >serial
然後填寫註冊信息注意一定要與前面的一直
10:由於本站點和跟CA都在這臺linux上面所以不用傳遞申請了直接執行這條指令
Cd /etc/vsftpd/certs
Openssl ca –in vsftpd.csr –out vsftpd.crt
11.接着編輯ftp的主配置文件
Vim /etc/vsftpd/vsftpd.conf
在裏面插入
ssl_enable=YES 表示啓用證書認證
ssl_tlsv1=YES 證書認證支持版本1
ssl_sslv2=YES 證書認證支持版本2
ssl_sslv3=YES 證書認證支持版本3
force_local_logins_ssl=YES 對本地登陸採用ssl加密認證
force_local_data_ssl=YES 對本地數據採用ssl加密認證
rsa_cert_file=/etc/vsftpd/certs/vsftpd.crt 證書文件存放的路徑
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key 證書鑰匙存放的路徑
12.接着重啓vsftpd服務
Service vsftpd restart
13.測試,用tshark抓包工具試着抓包
安裝tshark工具
yum install wireshark-1.0.3-4.el5_2.i386.rpm
啓用抓包
Tshark –ni eth0 –R “tcp.dstport eq 21”
14.然後用第三方軟件訪問ftp,因爲其他的瀏覽器不支持
FlashFXP-v4.0.1548
用虛擬帳號登陸ftp(不是本地的帳號)
1:創建虛擬帳號文件viruser.txt
Cd /etc/vsftpd
Vim viruser.txt
裏面插入帳號密碼
2:安裝一個生成帳號數據庫的工具
Cd /mnt/cdrom/Server
Ll |grep db4
找到db4-4.3.29-9.fc6.i386.rpm和db4-utils-4.3.29-9.fc6.i386.rpm
然後用yum安裝即可
3:生成帳號數據文件viruser.txt
在/etc/vsftpd目錄下
db_load -T -t hash -f viruser.txt viruser.db
4:cd /etc/pam.d
Cp vsftpd vsftpd.viu
接着vim vsftpd.vu
修改結果如下
5:編輯ftp的主配置文檔
Vim /etc/vsftpd/vsftpd.conf
裏面插入
這裏面的user3是系統的帳號做到了虛擬帳號和系統帳號對應
然後再修改這行
修改後
這樣做過之後重啓ftp服務,這是我們可以用zhangsan或者lisi這兩個虛擬帳號訪問了,不過我們的訪問結果是可以成功登陸但是看不到ftp服務器裏面的任何內容
6:所以我們現在還要做其它的
Vim /etc/vsftpd/vsftpd.conf
裏面插入
user_config_dir=/etc/vsftpd/userdir
指名帳號的目錄
然後我們去創建userdir目錄
Cd /etc/vsftpd
Mkdir userdir
Cd userdir
Touch zhangsan
Touch lisi
Vim zhangsan或者lisi
在裏面加入
說明匿名帳號有上傳和創建文件的權限
7:修改匿名帳號的默認家目錄的權限
Cd /var/ftp/
Chmod o+x pub
8:修改user3的家目錄
Vim /etc/passwd
把
改成
9:最後可以成功訪問