1.關閉linux防火牆,(不想關的可以把ftp的21端口加到防火牆規則即可,我爲了省事)
#chkconfig --level 35 iptables off
2.關閉selinux:編輯配置文件/etc/selinux/config,改爲SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3.重啓系統
-----------配置ftp---------------
1.檢查系統是否安裝過 vsftpd 和ftp:
rpm –q vsftpd
rpm –q ftp
沒有安裝的話 就用yum來安裝
yum install vsftpd
yum install ftp
安裝過程中按y,完成後爲它創建日誌文件:touch /var/log/vsftpd.log
2.啓動與配置自啓動
使用chkconfig --list來查看vsftpd服務啓動項情況;
如果看到的是如下顯示的結果:
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
服務全部都是off的,注意這裏的off表示的是服務器啓動的時候是否會自啓動服務,我們使用如下命令來配置其自啓動:
chkconfig --level 2345 vsftpd on #2345對應的是上面對應的0-6項
查看與管理ftp服務:
啓動ftp服務:service vsftpd start
查看ftp服務狀態:service vsftpd status
重啓ftp服務:service vsftpd restart
關閉ftp服務:service vsftpd stop
3. 配置vsftp服務
編輯/etc/vsftpd/vsftpd.conf文件,配置vsftp服務:
#vi /etc/vsftpd/vsftpd.conf
3.1 編輯修改如下內容:
anonymous_enable=NO #設定不允許匿名訪問
local_enable=YES #設定本地用戶可以訪問。注:如使用虛擬宿主用戶,在該項目設定爲NO的情況下所有虛擬用戶將無法訪問。
chroot_list_enable=YES #使用戶不能離開主目錄
xferlog_file=/var/log/vsftpd.log #設定vsftpd的服務日誌保存路徑。注意,該文件默認不存在。必須要手動touch出來
ascii_upload_enable=YES #允許使用ASCII模式上傳
ascii_download_enable=YES #設定支持ASCII模式的上傳和下載功能。
pam_service_name=vsftpd #PAM認證文件名。PAM將根據/etc/pam.d/vsftpd進行認證
guest_enable=YES #設定啓用虛擬用戶功能。
guest_username=ftp #指定虛擬用戶的宿主用戶。centos系統自帶ftp用戶
user_config_dir=/etc/vsftpd/vuser_conf #末尾不要加空格。設定虛擬用戶個人vsftp的RHEL/CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名)
3.2 創建chroot list,將ftp用戶加入其中:
touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list
3.3 進行認證:
首先,1.安裝db4:
rpm -q db4 db4-utils 查詢是否安裝過:
[root@localhost user]# rpm -q db4 db4-utils
db4-4.7.25-17.el6.i686
db4-utils-4.7.25-17.el6.i686
我的已經安裝過,沒有安裝的話 還是用yum安裝
然後,創建用戶密碼文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用戶名,偶行是密碼
user1
pass1
user2
pass2
接着生成虛擬用戶認證的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
隨後,編輯認證文件/etc/pam.d/vsftpd,全部註釋掉原來語句
再增加以下兩句
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
最後,創建虛擬用戶個性CentOS FTP服務文件
mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/user1
內容如下:
local_root=/var/ftp/user1 #虛擬用戶的根目錄(根據實際修改)
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
4. 爲目錄附權限並重啓動vsftp服務:
mkdir /var/ftp/user1
chmod 777 /var/ftp/user1
service vsftpd restart
然後在地址欄中即可訪問你的ftp服務器了。