centos6.4 搭建vsftpd
第一步:
1.查看有沒有安裝vsftpd:
rpm -qa | grep vsftpd
2.yum安裝vsftpd:
yum install vsftpd
3.查看每次開機時自動運行及手工啟動它
chkconfig --list vsftpd:
vsftpd ? ? ? ? ?0:off ? 1:off ? 2:off ? ?3:off ? ?4:off ? ?5:off ? ?6:off
chkconfig --level 2345 vsftpd on
chkconfig --list vsftpd
vsftpd ? ? ? ? ?0:off ? 1:off ? 2:on ? ?3:on ? ?4:on ? ?5:on ? ?6:off
或者chkconfig vsftpd on
service vsftpd start
netstat -tl 可以查看ftp端口是否在偵聽了!
第二步:配置vsftpd服務的宿主
#useradd vsftpdadmin -s /sbin/nologin
這個vsftpdadmin只是用來替換root的,并不需要登錄
第三步:建立ftp虛擬宿主帳戶
#useradd ftpuser -s /sbin/nologin
這ftpuser只個虛擬帳戶的宿主,本身是不用登錄的
第四步:配置vsftpd.conf
更改配置前最好備份一下然后再改
vim /etc/vsftpd/vsftpd.conf
修改下面紅色字體的部分為藍色字體的形式,紫色字體是配置原有的
anonymous_enable=YES ?--> ?anonymous_enable=NO ? //不允許匿名用戶訪問,默認是允許。
#chroot_list_enable=YES ?--> ?chroot_list_enable=YES ? ? ?//不允許FTP用戶離開自己主目錄,默認是被注釋掉的。
#chroot_list_file=/etc/vsftpd/chroot_list --> chroot_list_file=/etc/vsftpd/chroot_list ?//如果開啟了chroot_list_enable=YES,那么一定要開啟這個,這條是鎖定登錄用戶只能家目錄的位置,如果不開啟用戶登錄時就會報500 OOPS的錯。
注意:/etc/vsftp/chroot_list本身是不存在的,這要建立vim /etc/vsftp/chroot_list,然后將帳戶輸入一行一個,保存就可以了
local_enable=YES ? ? ?//允許本地用戶訪問,默認就是YES,不用改
write_enable=YES ? ? ?//允許寫入,默認是YES,不用改
local_umask=022 ? ? ? //上傳后文件的權限掩碼,不用改
dirmessage_enable=YES //開啟目錄標語,默認是YES,開不開無所謂,我是默認就行
xferlog_enable=YES ? ?//開啟日志,默認是YES,不用改
connect_from_port_20=YES ? //設定連接端口20
xferlog_std_format=YES ? //設定vsftpd的服務日志保存路徑,不用改
(這步后面要有幾個操作才能運行,也就是touch這個文件(見第五步),因為它本身不存在,而且還要給文件寫入的權限)
#idle_session_timeout=600 ?--> ?idle_session_timeout=600 ?//會話超時,客戶端連接到ftp但未操作,默認被注釋掉,可根據個人情況修改
#async_abor_enable=YES ?--> ? async_abor_enable=YES ? ? //支持異步傳輸功能,默認是注釋掉的,去掉注釋
#ascii_upload_enable=YES ?--> ? ascii_upload_enable=YES ? //支持ASCII模式的下載功能,默認是注釋掉的,去掉注釋
#ascii_download_enable=YES ?--> ? ascii_download_enable=YES ? //支持ASCII模式的上傳功能,默認是注釋掉的,去掉注釋
#ftpd_banner=Welcome to blah FTP service ?//FTP的登錄歡迎語,本身是被注釋掉的,去不去都行
#chroot_local_user=YES ?--> chroot_local_user=YES ? ?//禁止本地用戶登出自己的FTP主目錄,本身被注釋掉,去掉注釋
pam_service_name=vsftpd ?//設定pam服務下vsftpdd的驗證配置文件名,不用改
userlist_enable=YES ? ?//拒絕登錄用戶名單,不用改
TCP_wrappers=YES ? ?//限制主機對VSFTP服務器的訪問,不用改(通過/etc/hosts.deny和/etc/hosts.allow這兩個文件來配置)
增加
guest_enable=YES ? ?//設定啟用虛擬用戶功能。
guest_username=ftpuser ? //指定虛擬用戶的宿主用戶。
virtual_use_local_privs=YES ? //設定虛擬用戶的權限符合他們的宿主用戶。
user_config_dir=/etc/vsftpd/vconf ? //設定虛擬用戶個人Vsftp的配置文件存放路徑
第五步:建立日志文件
#touch /var/log/vsftpd.log ? ?//日志文件
#chown vsftpdadmin.vsftpdadmin /var/log/vsftpd.log ? //屬于vsftpdadmin這個宿主
第六步:建立虛擬用戶文件
#mkdir /etc/vsftpd/vconf/
#touch /etc/vsftpd/vconf/vir_user
第七步:建立虛擬用戶
#vim /etc/vsftpd/vconf/vir_user
virtualuser ? ? ? ? ? //用戶名
12345678 ? ? ? ? ? //密碼
注意:第一行用戶名,第二行是上一行用戶名的密碼,其他人的以此類推
第八步:生成數據庫
#db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
第九步:設置數據庫文件的訪問權限
#chmod 600 /etc/vsftpd/vconf/vir_user.db
#chmod 600 /etc/vsftpd/vconf/vir_user
第十步:修改/etc/pam.d/vsftpd內容
echo "auth required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" > /etc/pam.d/vsftpd
echo "account required pam_userdb.so db=/etc/vsftpd/vconf/vir_user" >> /etc/pam.d/vsftpd
第十步:創建用戶的配置文件
注意:用戶配置文件的名字要和創建的“虛擬用戶”名字對應
#touch /etc/vsftpd/vconf/virtualuser
#vim /etc/vsftpd/vconf/virtualuser
輸入:
local_root=/home/virtualuser ? ? ? ? ? //虛擬用戶的個人目錄路徑
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=1048576 ? ? //本地用戶的最大傳輸速度,單位是Byts/s,我設定的是10M
第十一步:建立虛擬用戶目錄
如果不建立虛擬用戶的個人目錄,那么所有的虛擬用戶登錄后所在的目錄都是同一個目錄下
# mkdir /home/virtualuser
# chown ftpuser.ftpuser ./virtualuser
# chmod 600 /home/virtualuser
配置就此完成,如果想增加新的用戶,只要按照上面的第七步、第十步進行就可以了。
關閉iptables
打開SElinux
vim/etc/sysconfig/selinux
設置SELINUX=enforcing
重啟后生效
登入出現錯誤:
(1)500 oops config file not owned by correct user or not a file
user_config_dir 參數指定的虛擬用戶目錄下,虛擬用戶文件的所有者改為root就行了,
比如現在我用虛擬用戶 aa登錄ftp , user_config_dir=/etc/vsftpd/vconf 然后把/etc/vsftpd/vconf 目下的virtualuser文件,所有者改為root就行了。
chown root:root
(2)500 OOPS: cannot change directory:/home/test
500 OOPS: priv_sock_get_cmd
查看一下#getsebool -a|grep ftp
#setsebool ftpd_disable_trans 1
#setsebool ftp_home_dir 1
或
Setsebool –P 永久生效
#setsebool -P ftpd_disable_trans 1
#setsebool -P ftp_home_dir 1
#chmod 777 /home/virtualuser
#chown root:root /home/virtualuser
#chown root:root /etc/vsftpd/vconf
參考網址:http://www.linuxidc.com/Linux/2012-02/53433.htm
不都是正確的活出先一起錯誤 要在google搜索答案!
轉載于:https://blog.51cto.com/moonlyn/1216349
總結
以上是生活随笔為你收集整理的centos6.4 搭建vsftpd的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 问题类像程序员一样思考
- 下一篇: rsync生产排错FAQ整理16