linuxftp連接數限制
『壹』 linux ftp如何限制某個用戶的傳輸速率而不是全部本地或匿名用戶
9、FTP封殺用戶、限制傳輸速率、限制訪問目錄、為匿名用戶提供下載資源
2015-08-26 07:43:46cnblogs.com天涯越野人點擊
Linux下
image
至此成功封殺,解封就直接在/etc/vsftpd.ftpusers 刪除yanji,學電腦,重啟vsftpd就行
驗證同上面一樣,不過是可以登錄成功。
二、限制本地用戶與匿名用戶的傳輸速率
在/etc/vsftpd/vsftpd.conf 主配置文件 的末尾加入以下內容
local_max_rate=200k //設置本地用戶最大的傳輸速率為200kbps
anon_max_rate=10k //設置匿名用戶最大的傳輸速率為10kbps
[root@localhost root]# service vsftpd restart (重啟服務)
三、限制本地用戶的工作目錄
設置根目錄,限制瀏覽其他目錄,減少對FTP伺服器的危害
[root@localhost root]# vi /etc/vsftpd/vsftpd.conf
把下面前面的 #號去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
image
把yanji 添加進 /etc/vsftpd.chroot_list,限制yanji用戶只能在宿主目錄之內,減少對系統的破壞
[root@localhost root]# echo yanji >> /etc/vsftpd.chroot_list
[root@localhost root]# service vsftpd restart (重啟服務)
最後驗證
去Windows中 命令行 或者 Linux中 終端
image
image
四、為匿名用戶提供下載資源
為匿名用戶提供下載資源(放在pub目錄下就行)
[root@localhost root]# cd /var/ftp/pub
[root@localhost pub]# cat > word1.txt
pub
『貳』 linux中FTP
vi /etc/vsftpd/vsftpd.conf
anonymous_enable = no
local_enable = yes
write_enable = yes
local_umask = 022
userlist_enable = yes
userlist_deny = yes
userlist_file = /etc/vsftpd.user_list
dirmessage_enable = yes
xferlog_enable = yes
connect_from_port_20 = yes
xferlog_std_format = yes
pam_service_name = vsftpd
listen = yes
max_per_ip = 2
tcp_wrappers = yes
banner_file = /etc/vsftpd/welcome.txt
注意,如果vsftpd.conf不存在,自己新建一個
如果welcome.txt不存在,自己新建一個
如果/etc/vsftpd.user_list與/etc/vsftpd.ftpusers不存在,新建一個,其內容兩個文件一樣,裡面每一行都是一個用戶名,可以參照/etc/passwd文件,把那些UID小於500的帳號名稱寫到這兩個文件內。如下:
root
bin
....
要限制只有內網用戶可以連接的話,用上面的回答那種設置障礙hosts.allow與hosts.deny.
hosts.allow內容為:
vsftpd:192.168.0.0/255.255.255.0
hosts.deny內容為:
vsftpd:all
『叄』 linux ftp如何配置 文件上傳許可權
linux ftp 文件上傳許可權有兩種匿名上傳和本地上傳
1)實現匿名用戶的上傳下載文件程序代碼:
Anonymous_enable=yes 匿名登陸
Connect_form_port_20=yes 啟用FTP數據埠的數據連接
Pam_service_name=vsftpd 驗證方式
Listen=yes 獨立的VSFTPD伺服器
Anon_upload_enable=yes 開放上傳許可權
Anon_mkdir_write_enable=yes 可創建目錄的同時可以在此目錄中上傳文件
Write_enable=yes 開放本地用戶寫的許可權
Anon_other_write_enable=yes
匿名帳號可以有刪除的許可權加上上面的這段,你就可以實現匿名ftp的上傳下載文件瞭然後你保存文件,用service vsftpd
start來啟動vsftp的服務,然後就可以用ftp了注意:確定你的防火牆
iptables上打開21埠,不然在登陸ftp的時候會提示socket錯誤,拒絕連接。還有就是當你再次編輯vsftp.conf後用
service vsftpd restart重起的時候總是提示你不能關閉vsftp服務,這時候你用service vsftpd
status察看一下他的狀態,如果提示你vsftpd被locked
那可能是因為你的vsftpd.conf中配置的有錯誤,你要重新編輯他,直到能正常重起他為止,一次配置不對,多配置幾次就好了
2)實現本地用戶上傳下
載
程序代碼:
新建一個用戶
adser 用戶名 增加一個用戶
passwd 用戶名 增加用戶的密碼
然後看/etc/passwd中最後一行就是你剛才添加的用戶信息
然後編輯/etc/vsftpd/vsftpd.conf文件,
Local_enable=yes 允許使用本地用戶來登陸ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陸ftp的用戶
下面有關linux中ftp的設置項:
限制用戶只能在自己的目錄中
Chroot_list_enable=yes 文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用戶名vsftpd.conf的參數
程序代碼:Anonymous_enable=yes 允許匿名登陸
Dirmessage_enable=yes 切換目錄時,顯示目錄下.message的內容
Local_umask=022 FTP上本地的文件許可權,默認是077
Connect_form_port_20=yes 啟用FTP數據埠的數據連接
Xferlog_enable=yes 激活上傳和下傳的日誌
Xferlog_std_format=yes 使用標準的日誌格式
Ftpd_banner=XXXXX 顯示歡迎信息
Pam_service_name=vsftpd 驗證方式
Listen=yes 獨立的VSFTPD伺服器
Anon_upload_enable=yes 匿名用戶上傳許可權
Anon_mkdir_write_enable=yes 創建目錄的同時可以在此目錄中上傳文件
Write_enable=yes 本地用戶寫的許可權
Anon_other_write_enable=yes 匿名帳號可以有刪除的許可權
Anon_world_readable_only=no 匿名用戶瀏覽許可權
Ascii_upload_enable=yes 啟用上傳的ASCII傳輸方式
Ascii_download_enable=yes 啟用下載的ASCII傳輸方式
Banner_file=/var/vsftpd_banner_file 用戶連接後歡迎信息使用的是此文件中的相關信息
Idle_session_timeout=600(秒) 用戶會話空閑後10分鍾
Data_connection_timeout=120(秒) 將數據連接空閑2分鍾斷
Accept_timeout=60(秒) 將客戶端空閑1分鍾後斷
Connect_timeout=60(秒) 中斷1分鍾後又重新連接
Local_max_rate=50000(bite) 本地用戶傳輸率50K
Anon_max_rate=30000(bite) 匿名用戶傳輸率30K
Pasv_min_port=5000 將客戶端的數據連接埠改在
Pasv_max_port=6000 5000—6000之間
Max_clients=200 FTP的最大連接數
Max_per_ip=4 每IP的最大連接數
Listen_port=5555 從5555埠進行數據連接
Local_enble=yes 本地帳戶能夠登陸
Write_enable=no 本地帳戶登陸後無權刪除和修改文件
Chroot_local_user=yes 本地所有帳戶都只能在自家目錄
Chroot_list_enable=yes 文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes 在指定的文件中的用戶不可以訪問
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路徑/文件名 連接失敗時顯示文件中的內容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 將虛擬服務綁定到某埠
Guest_enable=yes 虛擬用戶可以登陸
Guest_username
『肆』 linux中ftp的配置管理
vsftpd是UNIX類操作系統上運行的伺服器名稱,它的名字代表「very secure FTP daemon」,安全性是其設計與開發的一個重要目標。它可運行在Linux、Solaris等系統中,支持很多其他的FTP 伺服器不支持的特徵:
非常高的安全性需求
帶寬限制
良好的可伸縮性
創建虛擬用戶的可能性
分配虛擬IP地址的可能性
一、vsftpd的啟動
#service vsftpd start
如果允許用戶匿名訪問,需創建用戶ftp和目錄/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
二、vsftpd的配置
Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我們可根據實際數要對如下信息進行配置:
1. 連接選項
☆監聽地址和控制埠
(1) listen_address=ip address
定義主機在哪個IP 地址上監聽FTP請求。即在哪個IP地址上提供FTP服務。
(2) listen_port=port_value
指定FTP伺服器監聽的埠號。默認值為21。
2. 性能與負載控制
☆超時選項
(1) idle_session_timeout=
空閑用戶會話的超時時間,若是超過這段時間沒有數據的傳送或是指令的輸入,則會被迫斷線。默認值是300s
(2) accept_timeout=numerical value
接受建立聯機的超時設定。默認值為60s
☆負載選項
(1) max_clients= numerical value
定義FTP伺服器最大的兵法連接數。當超過此連接數時,伺服器拒絕客戶端連接。默認值為0,表示不限最大連接數。
(2) max_per_ip= numerical value
定義每個IP地址最大的並發連接數目。超過這個數目將會拒絕連接。此選項的設置將會影響到網際快車、迅雷之類的多線程下載軟體。默認值為0,表示不限制。
(3) anon_max_rate=value
設定匿名用戶的最大數據傳輸速度,以B/s為單位。默認無。
(4) local_max_rate=value
設定用戶的最大數據傳輸速度。以B/s為單位。默認無。此選項對所有的用戶都生效。
3. 用戶選項
vsftpd的用戶分為3類:匿名用戶、本地用戶(local user)及虛擬用戶(guest)
☆ 匿名用戶
(1) anonymous_enable=YES|NO
控制是否允許匿名用戶登錄
(2) ftp_username=
匿名用戶使用的系統用戶名。默認情況下,值為ftp
(3) no_anon_password= YES|NO
控制匿名用戶登錄時是否需要密碼。
(4) anon_root=
設定匿名用戶的根目錄,即匿名用戶登錄後,被定位到此目錄下。主配置文件中默認無此項,默認值為/var/ftp/
(5) anon_world_readable_only= YES|NO
控制是否只允許匿名用戶下載可閱讀的文檔。YES,只允許匿名用戶下載可閱讀的文件。NO,允許匿名用戶瀏覽整個伺服器的文件系統。
(6) anon_upload_enable= YES|NO
控制是否允許匿名用戶上傳文件。除了這個參數外,匿名用戶要能上傳文件,還需要兩個條件,write_enable參數為YES;在文件系統上,FTP匿名用戶對某個目錄有寫許可權。
(7) anon_mkdir_wirte_enable= YES|NO
控制是否允許匿名用戶創建新目錄。在文件系統上,FTP匿名用戶必須對新目錄的上層目錄擁有寫許可權。
(8) anon_other_write_enbale= YES|NO
控制匿名用戶是否擁有除了上傳和新建目錄之外的其他許可權。如刪除、更名等。
(9) chown_uploads= YES|NO
是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶上傳得文件所有權改為另一個不同的用戶所有,用戶由chown_username參數指定。
(10) chown_username=whoever
指定擁有匿名用戶上傳文件所有權的用戶。
☆本地用戶
(1) local_enable= YES|NO
控制vsftpd所在的系統的用戶是否可以登錄vsftpd。
(2) local_root=
定義本地用戶的根目錄。當本地用戶登錄時,將被更換到此目錄下。
☆虛擬用戶
(1) guest_enable= YES|NO
啟動此功能將所有匿名登入者都視為guest
(2) guest_username=
定義vsftpd的guest用戶在系統中的用戶名。
4. 安全措施
☆用戶登錄控制
(1) /etc/vsftpd.ftpusers
Vsftpd禁止列在此文件中的用戶登錄FTP伺服器。此機制是默認設置的。
(2) userlist_enable= YES|NO
此選項激活後,vsftpd將讀取userlist_file參數所指定的文件中的用戶列表。
(3) userlist_file=/etc/vsftpd.user_list
指出userlist_enable選項生效後,被讀取的包含用戶列表的文件。默認值是/etc/vsftpd.user_list
(4) userlist_deny= YES|NO
決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP伺服器。userlist_enable選項啟動後才能生效。默認值為YES,禁止文中的用戶登錄,同時不向這些用戶發出輸入口令的指令。NO,只允許在文中的用戶登錄FTP伺服器。
☆目錄訪問控制
(1) chroot_list_enable= YES|NO
鎖定某些用戶在自己的目錄中,而不可以轉到系統的其他目錄。
(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被鎖定在主目錄的用戶的列表文件。
(3) chroot_local_users= YES|NO
將本地用戶鎖定在主目中。
三、vsftpd伺服器的配置實例:
基於IP的虛擬FTP伺服器配置
假設伺服器有兩個IP地址,192.168.1.199和192.168.1.200。vsftpd是建立在192.168.1.199上的。現在在192.168.1.200上再提供一個虛擬FTP伺服器。
☆創建虛擬FTP伺服器根目錄
# mkdir –p /var/ftp2/pub
確保/var/ftp2和/var/ftp2/pub目錄的所有者和組均為root,掩碼為755
# chmod 755 /var/ftp2 # chmod 755 /var/ftp2/pub
# chown –R root /var/ftp2 # chown –R : root /var/ftp2
☆ 增加虛擬FTP伺服器的匿名用戶帳號ftp2
# useradd –d /var/ftp2 –M ftp2
☆ 創建虛擬FTP伺服器的配置文件
復制原來的vsftpd.conf作為虛擬FTP伺服器的配置文件,並修改相關參數
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
# vi /etc/vsftpd/vsftpd2.conf
添加或修改參數:
Listen=YES
Listen_address=192.168.1.200
ftp_username=ftp2
anon_root=/var/ftp2
並可參考vsftpd的配置部分的說明做其他配置,如:
•允許匿名用戶上傳文件
Write_enable=YES
Anon_world_readable_only=NO
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES
創建匿名用戶上傳文件的目錄,並設置許可權:
# mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming
•取消寫許可權
Write_enable=NO
Anon_upload_enable=NO
Anon_mkdir_write_enable=NO
Anon_other_write_enable=NO
•限制下載速度為80KB/s
Anon_max_rate=8000
•控制並發數,以及每個IP地址的並發數
Max_clients=100
Max_per_ip=3
☆啟動虛擬FTP伺服器
# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.comf &
『伍』 linux ftp伺服器拒絕連接
出現此問題的原因為:設置問題造成的。
解決的方法和詳細的操作步驟如下:
1、第一步,連接到相應的linux主機,進入linux命令行狀態,然後等待輸入shell命令,見下圖,轉到下面的步驟。

『陸』 如何在linux上配置ftp 及創建 ftp用戶
做一個虛擬賬戶就解決了:
步驟如下:
1、建立虛擬用戶口令庫文件
口令庫文件中奇數行設置用戶名,偶數行設置口令
# vi /etc/vsftpd/logins.txt 注意,一下是4行
upload 這個是帳戶名
upload 這個是密碼
download
download
2、生成vsftpd的認證文件
# db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
設置認證文件只對用戶可讀可寫
# chmod 600 /etc/vsftpd/vsftpd_login.db
3、建立虛擬用戶所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:以上2行中最後的2個文件名vsftpd_login和第2個步驟中的資料庫名字必須一致!
4、建立虛擬用戶所要訪問的目錄並設置相應許可權
# mkdir /home/ftpsite
# useradd -d /home/ftpsite virtual(用戶名)
# chown virtual:virtual /home/ftpsite
# chmod 700 /home/ftpsite/
5、設置vsftpd.conf配置文件
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
6、設置主配置文件
在vsftpd.conf文件中添加用戶配置文件目錄設置
user_config_dir=/etc/vsftpd_user_conf
# service vsftpd restart
7、建立用戶配置文件目錄
使用mkdir命令建立用戶配置文件目錄
# mkdir /etc/vsftpd_user_conf
為虛擬用戶建立單獨的配置文件,用戶配置文件名稱與用戶名相同
touch /etc/vsftpd_user_conf/upload
touch /etc/vsftpd_user_conf/download
8、每個FTP虛擬用戶都可以獨立設置其許可權
vi /etc/vsftpd_user_conf/upload
anon_world_readable_only=NO 可讀可下載
anon_upload_enable=YES 可上傳
anon_mkdir_write_enable=YES 可創建和刪除文件夾
anon_other_write_enable=YES 可文件改名和刪除文件
local_root=/home/ftpsite/upload 指定upload的宿主目錄
download_enable=NO 禁止下載
(注意:請先到/home/ftpsite下面去創建upload文件夾)
『柒』 linux配置FTP訪問時間限制。
1.腳本處理,大概思路
從6點到0點,直接開啟ftp服務(services vsftp stop 或者直接使用腳本啟動)
其他時間直接關閉ftp服務,放到計劃任務裡面.
2.修改配置文件處理
拷貝一份安裝目錄下的文件
#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd 修改的時候記得做備份
#vim /etc/xinetd.d/vsftpd/
修改參數 disable = no
這個參數沒有的話就添加一行
access_time = hour:min-hour:min (添加配置訪問的時間限制(註:與vsftpd.conf中listen=NO相對應)
例: access_time = 18:00-00:00 表示只有這兩個時間段可以訪問ftp而後重啟vsftp服務測試一下. 查閱書籍《Linux就該這么學》.
『捌』 Linux FTP限制
vim /etc/vsftpd/vsftpd.conf 主配置文件
anon_max_rate=0:限制匿名最大傳輸速率(位元組/秒)
local_max_rate=0:限制用戶最大傳輸速率(位元組/秒)
max_clients=0:限制並發客戶端連接數
max_per_ip=0:限制同一 IP 地址的並發連接數
『玖』 求,在linux 中,搭建ftp伺服器的方法, 謝謝,
FTP不安全,萬不得已情況下,才可使用。
vsftp安全性相對較好
可採用sftp代替FTP
Linux另外常用的FTP:
proftp
vsftp
pureftp
下面以VSFTP為例:
安裝方式一:源碼包安裝
useradd -s /bin/false -d /var/ftp ftpvirtual
cd ......
make
make install
cp vsftpd.conf /etc
/usr/local/sbin/vsftpd & #啟動
安裝方式二:rpm安裝,推薦
rpm -ivh vsftpd-2.0.1-5.i386.rpm
或者 yum install vsftpd
/etc/init.d/vsftpd start
兩種方式安裝完成後,配置方法都一樣,下面開始講配置。
首先講主配置文件常見配置
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #禁止匿名登錄
local_enable=NO #禁止本地用戶登錄
write_enable=YES #對本地用戶的寫許可權
local_umask=022 #本地用戶文件生成掩碼
dirmessage_enable=YES #顯示隱藏文件
xferlog_enable=YES #啟用上傳和下載日誌
connect_from_port_20=YES #伺服器將啟用FTP數據埠的連接請求
xferlog_std_format=YES #伺服器將使用標準的ftpd xferlog日誌格式
pam_service_name=vsftpd #設置PAM認證服務的配置文件名稱
userlist_enable=YES #設置文件中指定的用戶是否可以訪問vsftpd伺服器
listen=YES #FTP伺服器將處於獨立啟動模式
tcp_wrappers=YES #使用tcp_wrappers作為主機訪問控制方式
chroot_local_user=YES #將FTP本地用戶禁錮在宿主目錄中
chroot_list_enable=YES #將用戶禁錮在宿主目錄中
listen_address=192.168.0.2 #偵聽地址
pasv_enable=YES #是否允使用被動模式,默認是允許的。
pasv_min_port=10000 #指定使用被動模式時打開埠的最小值
pasv_max_port=10004 #指定使用被動模式時打開埠的最大值。
max_clients=100 #設置FTP伺服器所允許的最大客戶端連接數,值為0時表示不限制
max_per_ip=5 #同一IP地址允許的最大客戶端連接數,值為0時表示不限制,即線程
local_max_rate=500000 #設置本地用戶的最大傳輸速率,單位為bytes/sec,值為0時表示不限制
anon_max_rate=200000 #設置匿名用戶的最大傳輸速率,單位為bytes/sec,值為0表示不限制
use_localtime=YES #在vsftp之中的時間默認值是顯式GMT時間,因此我們會發現上面的時間與我們時寄存取的時間差八小時。改了這一項就好了。
listen_port=10021 改埠
one_process_model=NO yes可增加性能,增加負載,便降低安全,建議NO
nopriv_user=nobody 默認以nobody運行vsftp
對外服務,建議使用stand alone方式啟動,性能好。
僅內部人員,建議用super daemon啟動,修改如下:
listen=NO
……略
vsftp默認使用GMT時間,建議修改如下:
use_localtime=YES
/etc/vsftpd.ftpusers #保存不允許進行FTP登錄的本地用戶帳號,提高系統的安全性
/etc/vsftpd.user_list
#禁止vsftpd.user_list中的用戶
userlist_enable=YES
userlist_deny=YES
#僅允許vsftpd.user_list中的用戶
userlist_enable=YES
userlist_deny=NO
日誌:
vsftpd_log_file=/var/log/vsftpd.log
下面開始講vsftp四種「用戶認證」的方式
一、匿名用戶 ftp anonymous
/var/ftp 默認主目錄
在/etc/vsftpd/vsftpd.conf中:
anonymous_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES #可刪除
chmod -R 777 /var/ftp/pub/
修改/var/ftp/pub的SELinux許可權
執行以下命令,修改/var/ftp/pub這目錄的類型:
chcon -R -t ftpd_anon_rw_t /var/ftp/pub/
anon_root=/var/www/html/ftp #改匿名用戶的宿主目錄
二、本地用戶
默認支持,使用各自的宿主目錄。不安全
local_root=/opt #新增這一項,改成其他路徑
三、虛擬用戶 PAM文件方式 推薦
建立虛擬用戶口令庫文件
# cat logins.txt
mike
pwabcd
john
pw1234
生成vsftpd的認證文件
db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
新創建虛擬用戶所需的PAM配置文件
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
新創建虛擬用戶的系統用戶所要訪問的目錄並設置相應許可權
# useradd -s /bin/false -d /home/ftpsite ftpvirtual
# chmod 700 /home/ftpsite
#設置vsftpd.conf配置文件,支持虛擬用戶
guest_enable=YES
guest_username=ftpvirtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用戶配置文件目錄設置
/etc/vsftpd/vsftpd_user_conf/mike (同名),這里沒有的設置默認按vsftpd.conf的設置執行
anon_world_readable_only=NO #可以瀏覽FTP目錄和下載文件
anon_upload_enable=YES #用戶可以上傳文件,等同於 write_enable=yes 允許上傳
anon_mkdir_write_enable=YES #具有建立和刪除目錄的權利
anon_other_write_enable=YES #具有文件改名和刪除文件的許可權
local_root=/data/userspace #設置虛擬用戶登錄後的主目錄
anon_max_rate=1024000 #以Bytes/s為單位,這里限8Mbit,范圍大概在80%到120%之間
四、虛擬用戶 mysql認證方式 推薦
1. mysql安裝見mysql筆記
2.1 openssl-0.9.8e 源程序預編譯時在日誌中可能出現md5.h "Present But Cannot Be Compiled的錯誤,卸載下面某些包可能解決問題。
cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel
然後移除系統可能自帶的:
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
配置庫文件搜索路徑
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v
2.2 或者安裝openssl-0.9.8e的rpm包
3. pam_mysql-0.7RC1.tar.gz
#./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/ssl
如果mysql是rpm安裝的,則不帶--with-mysql參數,如果openssl是rpm安裝的,參數為--with-openssl
make;make install
注意pam_mysql.so路徑,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so
vi /etc/pam.d/vsftp.mysql #新建,僅兩行
auth required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
4.0 准備資料庫、表和數據
mysql> create database vsftp;
mysql> grant select on vsftp.* to vsftpd@localhost identified by '123456';
mysql> grant select on vsftp.* to [email protected] identified by '123456';
mysql> use vsftp;
mysql> create table users (
-> id int AUTO_INCREMENT NOT NULL,
-> name char(20) binary NOT NULL,
-> passwd char(48) binary NOT NULL,
-> primary key(id)
-> );
mysql> insert into users(name,passwd) values('hlc',password('hlc'));
mysql> insert into users(name,passwd) values('holly',password('holly'));
5.0 修改主配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vsftp
listen=YES
pam_service_name=vsftpd.mysql
以上完成了vsftp的配置,下面是補充:
dirmessage_enable=YES #設置歡迎語 在每個目錄下建立.message,寫入歡迎語即可。
db_load支持包(前面三個即可):
db4
db4-devel
db4-utils
db4-java
db4-tcl
Linux建議關閉selinux或征對FTP不做任何安全
setsebool -P -ftpd_disable_trans on
setsebool -P -allow_ftpd_full_access on
servie vsftpd restart
或者需要重啟伺服器
底下列出FTP訪問中所出現數字代碼的含意。
110 重新啟動標記應答。
120 服務在多久時間內ready。
125 數據鏈路埠開啟,准備傳送。
150 文件狀態正常,開啟數據埠。
200 命令執行成功。
202 命令執行失敗。
211 系統狀態或是系統求助響應。
212 目錄的狀態。
213 文件的狀態。
214 求助的訊息。
215 名稱系統類型。
220 新的聯機服務ready。
221 服務的控制埠關閉,可以注銷。
225 數據鏈接開啟,但無傳輸動作。
226 關閉數據埠,請求的文件操作成功。
227 進入passive mode。
230 用戶登錄。
250 請求的文件操作完成。
257 顯示目前的路徑名稱。
331 用戶名稱正確,需要密碼。
332 登入時需要帳戶信息。
350 請求的操作需要進一部的命令。
421 無法提供服務,關閉控制連結。
425 無法開啟數據鏈路。
426 關閉聯機,終止傳輸。
450 請求的操作未執行。
451 命令終止:有本地的錯誤。
452 未執行命令:磁碟空間不足。
500 格式錯誤,無法識別命令。
501 參數語法錯誤。
502 命令執行失敗。
503 命令順序錯誤。
504 命令所接的參數不正確。
530 未登入。
532 儲存文件需要賬戶登入。
550 未執行請求的操作。
551 請求的命令終止,類型未知。
552 請求的文件終止,儲存位溢出。
553 未執行請求的的命令,名稱不正確。
