centos下安裝配置vsftpd服務

2021-07-14 07:51:42 字數 3109 閱讀 6550

centos 6.4 下安裝vsftpd

概述:vsftpd是linux下比較著名的ftp伺服器,搭建ftp伺服器當然首選這個。

本文介紹了在centos 6.4下安裝vsftpd、配置虛擬使用者登入ftp的過程。

正文:一:安裝vsftpd

檢視是否已經安裝vsftpd

rpm -qa | grep vsftpd

如果沒有,就安裝,並設定開機啟動

yum -y install vsftpd

chkconfig vsftpd on

二:基於虛擬使用者的配置

所謂虛擬使用者就是沒有使用真實的帳戶,只是通過對映到真實帳戶和設定許可權的目的。虛擬使用者不能登入centos系統。

修改配置檔案

開啟/etc/vsftpd/vsftpd.conf,做如下配置

anonymous_enable=no //設定不允許匿名訪問

local_enable=yes //設定本地使用者可以訪問。注:如使用虛擬宿主使用者,在該專案設定為no的情況下所有虛擬使用者將無法訪問

chroot_list_enable=yes //使使用者不能離開主目錄

ascii_upload_enable=yes

pam_service_name=vsftpd //pam認證檔名。pam將根據/etc/pam.d/vsftpd進行認證

以下這些是關於vsftpd虛擬使用者支援的重要配置項,預設vsftpd.conf中不包含這些設定專案,需要自己手動新增

guest_enable=yes //設定啟用虛擬使用者功能

guest_username=ftp //指定虛擬使用者的宿主使用者,centos中已經有內建的ftp使用者了

user_config_dir=/etc/vsftpd/vuser_conf //設定虛擬使用者個人vsftp的centos ftp服務檔案存放路徑。存放虛擬使用者個性的centos ftp服務檔案(配置檔名=虛擬使用者名稱)

進行認證

首先,安裝berkeley db工具,很多人找不到db_load的問題就是沒有安裝這個包。

yum install db4 db4-utils

然後,建立使用者密碼文字/etc/vsftpd/vuser_passwd.txt ,注意奇行是使用者名稱,偶行是密碼

test

123456

接著,生成虛擬使用者認證的db檔案

db_load -t -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

32位系統

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd

account required pam_userdb.so db=/etc/vsftpd/vuser_passwd注:

64位系統,動態庫位置有變化:

/lib64/security/pam_userdb.so

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

最後,建立虛擬使用者配置檔案

mkdir /etc/vsftpd/vuser_conf/

vi /etc/vsftpd/vuser_conf/test  //檔名等於vuser_passwd.txt裡面的賬戶名,否則下面設定無效

內容如下

local_root=/ftp/www  //虛擬使用者根目錄,根據實際情況修改

write_enable=yes  //可寫

anon_umask=022 //掩碼

anon_world_readable_only=no 

anon_upload_enable=yes 

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

設定selinux

setsebool -p ftp_home_dir=1   //設定ftp可以使用home目錄

sersebool -p allow_ftpd_full_access=1   //設定ftp使用者可以有所有許可權

設定ftp根目錄許可權

mkdir /ftp/www   //建立目錄

chmod r 755 /ftp

chmod r 777 /ftp/www

最新的vsftpd要求對主目錄不能有寫的許可權所以ftp為755,主目錄下面的子目錄再設定777許可權

設定防火牆

開啟/etc/sysconfig/iptables

在「-a input –m state --state new –m tcp –p –dport 22 –j accept」,下新增:

-a input -m state --state new -m tcp -p -dport 21 -j accept

然後儲存,並關閉該檔案,在終端內執行下面的命令,重新整理防火牆配置:

service iptables restart

ok,執行「service vsftpd start」,你就可以訪問你的ftp伺服器了。

配置pasv模式

vsftpd預設沒有開啟pasv模式,現在ftp只能通過port模式連線,要開啟pasv預設需要通過下面的配置

開啟/etc/vsftpd/vsftpd.conf,在末尾新增

pasv_enable=yes   //開啟pasv模式

pasv_min_port=40000   //最小埠號

pasv_max_port=40080   //最大埠號

pasv_promiscuous=yes

在防火牆配置內開啟40000到40080埠

-a input -m state --state new -m tcp -p -dport 40000:40080 -j accept

重啟iptabls和vsftpd

service iptables restart

service vsftpd restart

現在可以使用pasv模式連線你的ftp伺服器了~

Linux CentOS 7 安裝配置vsftp

學習linux時間不長,首次安裝了vsftp,按照網上的各種帖子嘗試配置,不過都沒打到預期,不是被拒絕連線,就是連線超時,總之就是各種問題啊。當然了,不是別人配置的不對,而是自己不是太懂linux,選擇的配置引數彼此之間不知道 起了衝突。所以結合自己的系統把安裝配置過程記錄下來,方便以後學習總結。y...

Centos下安裝配置tengine

tengine是由 網發起的web伺服器專案。它在nginx的基礎上,針對大訪問量 的需求,新增了很多高階功能和特性。tengine的效能和穩定性已經在大型的 如 網,天貓 等得到了很好的檢驗。它的最終目標是打造乙個高效 穩定 安全 易用的web平台。下面介紹在centos下安裝配置tengine的...

Centos 下安裝配置 MySQL

這裡介紹使用yum的方式安裝mysql,這是centos一種快速安裝的方式,對應的ubantu工具是apt get,基本用法是一樣的 1 檢查是否已經存在mysql rpm qa mysqld 2 安裝mysql yum y install mysql mysql server mysql deve...