码迷,mamicode.com
首页 > 其他好文 > 详细

vsftpd的快速安装

时间:2014-05-13 01:45:24      阅读:433      评论:0      收藏:0      [点我收藏+]

标签:vsftpd服务安装

环境:centos 5.9 32位


1.使用yum命令直接安装:yum -y install vsftpd

然后为它创建日志文件: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.db_4数据库维护工具安装

#rpm –qa | grep db4

db4-devel-4.2.52-7.1

db4-4.2.52-7.1

db4-utils-4.2.52-7.1

db_load命令存在则不用再装了,继续下一步

否则

yuminstall db4 db4-utils 或者 yum install db4*(*表示安装所有含db4字符的安装包)

4.建立一个系统虚拟用户

useradd-d /home/vsftpd -s /sbin/nologin vsftpd

sudochmod go+w /home/vsftpd -R

chmodgo+wr /home/vsftpd –R (不然配置项不起作用,不能上传、写目录等)

5.建立认证数据库文件并设置文件属性

进行认证:

创建用户密码文本/etc/vsftpd/vuser_passwd.txt,注意奇行是用户名,偶行是密码

test

123456

接着,生成虚拟用户认证的db文件

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

编辑认证文件/etc/pam.d/vsftpd

注释掉/etc/pam.d/vsftpd中所有的内容,加入如下内容:

特别注意 以下区别

32位系统增加以下两句:(备注:required和sufficient似乎都可以)

authsufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

accountsufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

64位系统增加以下两句:(收集与网络,未认证)

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

accountrequired   /lib64/security/pam_userdb.sodb=/etc/vsftpd/vuser_passwd

6./etc/vsftpd/vsftpd.conf配置(主文件配置,可将原来的文件内容删除,将以下内容加入)

anonymous_enable=NO

local_enable=YES

user_config_dir=/etc/vsftpd/user_conf(重要,调取etc/vsftpd/user_conf下文件,路径写对)

write_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

chroot_local_user=YES

guest_enable=YES

guest_username=vsftpd(vsftpd用户名,与第4歩创建的文件)

listen=YES

listen_port=21       (默认21,改为其他端口后,远程无法获取文件目录)

pasv_min_port=30000

pasv_max_port=30999

dirmessage_enable=YES

pam_service_name=vsftpd

7创建虚拟用户个性服务文件

/etc/vsftpd/user_conf/test    

将以下内容加入test

local_root=/opt    (注意权限)

anonymous_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES(我这里如果是NO,则无法上传)

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

max_per_ip=5

local_max_rate=50000

8.servicevsftpd restart

注意:红色部分要一样


遇到的一些错误

530错误

我这里是配置文件错误导致的


550Permission denied

网上找了N多答案,主要有,设置selinux,目录权限是否正确,可我这里还是不行,后来我将虚拟用户配置文

anon_upload_enable= YES,问题解决,原来虚拟用户上传,需要匿名上传权限


selinux的设置

我的selinux关于ftp的设置

allow_ftpd_anon_write --> on

allow_ftpd_full_access--> on

allow_ftpd_use_cifs--> on

allow_ftpd_use_nfs--> on

allow_tftp_anon_write--> on

ftp_home_dir--> on

ftpd_connect_db--> on

ftpd_disable_trans--> on

ftpd_is_daemon--> on

httpd_enable_ftp_server--> on

tftpd_disable_trans--> on

设置selinux方法:

一种方法:

#setsebool-Pftpd_disable_trans 1

重启vsftpd服务

另一种方法

关掉selinux

vim/etc/sysconfig/selinux
selinux=disable

然后重启即可。


查看SELinux设置

# getsebool -a|grep ftp
ftpd_disable_trans --> off
或者
ftp_home_dir-->off

解决方法:
//使用setsebool命令开启
# setsebool ftpd_disable_trans 1
或者
# setsebool ftp_home_dir 1
再次查看当前状态是否是on的状态
# getsebool -a|grep ftp
ftpd_disable_trans --> on
或者
ftp_home_dir-->on

/setsebool使用-P参数,无需每次开机都输入这个命令
# setsebool -P ftpd_disable_trans 1
或者
# setsebool -P ftp_home_dir 1
# service vsftpd restart




本文出自 “未来时空” 博客,请务必保留此出处http://sjitwant.blog.51cto.com/3661219/1409746

vsftpd的快速安装,布布扣,bubuko.com

vsftpd的快速安装

标签:vsftpd服务安装

原文地址:http://sjitwant.blog.51cto.com/3661219/1409746

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!