1.安装准备
操作系统:
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15
04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
1.1检查selinux是否关闭
查看命名:<br />1、/usr/sbin/sestatus -v ##如果SELinux status参数为enabled为开启状态<br /> SELinux
status: enabled
2、getenforce ##也可以用这个命令检查
关闭SELinux:
1、临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式
##setenforce 1 设置SELinux 成为enforcing模式
2、修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
1.2检查防火墙是否关闭
查看状态命令:<br /> service vsftpd status<br /> 关闭防火墙:<br /> 临时关闭:iptables -F<br /> 服务关闭:service iptables stop<br /> 开机关闭:chkconfig iptables off
2.安装vsftpd
<br /> 通过yum的方式安装vsftpd:<br /> 1.yum
install vsftpd –y
2.下载rpm通过 rpm –ivh vsftpd-2.2.2-14.el6.x86_64.rpm
配置文件存放位置:
/etc/vsftpd/
Vsftpd.conf 全局的核心配置文件
user_list
ftpusers
/etc/pam.d/vsftpd
2.1修改/etc/vsftpd/vsftpd.conf文件
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/user_conf
2.2在/etc/pam.d/中添加文件vsftpd.vu
添加vsftpd.vu文件<br /> touch
/etc/pam.d/vsftpd.vu
修改vsftpd.vu文件
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
2.3添加虚拟用户DB文件
新建登录用户文件txt:<br />touch
/etc/vsftpd/vsftpd_login.txt
编辑login.txt文件:
vi
/etc/vsftpd/vsftpd_login.txt
添加内容:
建立访问者数据文件(如果没有可以安装:yum
install db4-utils)
db_load -T -t hash -f /etc/vsftpd/vsftpd_login.txt
/etc/vsftpd/vsftpd_login.db
2.4建立本地虚拟用户
useradd -d /home/ftp -s /sbin/nologin virtual
2.5在/home/ftp/创建目录并改变其属性和它的宿主
chown virtual /home/ftp<br /> chmod 700 /home/ftp
2.6创建ftp用户配制文件目录
mkdir /etc/vsftpd/user_conf
2.7创建以用户名命名的配置文件web、download、admin
download文件配置:<br /> local_root=/home/ftp<br />anon_world_readable_only=NO<br /> web文件配置:<br /> local_root=/var/www<br />anon_world_readable_only=NO<br />anon_umask=022<br />write_enable=YES<br />anon_mkdir_write_enable=YES<br />anon_upload_enable=YES<br />anon_other_write_enable=YES<br /> admin文件配置:<br /> local_root=/home/ftp<br />anon_world_readable_only=NO<br />write_enable=YES <br />anon_mkdir_write_enable=YES <br />anon_upload_enable=YES<br />anon_other_write_enable=YES
2.8重启vsftpd服务
service vsftpd restart
3.ISSUS
QA 添加新的用户,并且指定不同的权限。
- 添加用户
编辑/etc/vsftpd/ vsftpd_login.txt文件
添加两行,如:
test
重新生成db文件------------用户名<br /> 123 ------------密码<br />2.
db_load -T -t hash -f /etc/vsftpd/vsftpd_login.txt /etc/vsftpd/vsftpd_login.db
3.
添加用户名的配置文件
touch /etc/vsftpd/user_conf/test
vi test
添加权限,控制的目录等等配置
如:
local_root=/home/ftp
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
4.
重启 服务
service vsftpd restartQA vsftpd添加SSL的加密功能
- 使用指令生成加密文件
[root@localhost vsftpd]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
Generating a 2048 bit RSA private key
…..+++
…………………………………………….+++
writing new private key to ‘vsftpd.pem’
——-
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
——-
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:xxxx
Locality Name (eg, city) [Default City]:xxxx
Organization Name (eg, company) [Default Company Ltd]:xxxx
Organizational Unit Name (eg, section) []:www.centos.vbird
Common Name (eg, your name or your server’s hostname) []:root@www.centos.vbird
Email Address []:123456@163.com
2.
修改文件权限,并且拷贝文件值加密文件目录
chmod 400 vsftpd.pem
cp vsftpd.pem /etc/ssl/certs/
3.
修改vsftpd.conf文件
添加内容:
ssl_enable=YES
allow_anon_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
4.
重启服务
service vsftpd restart
5.
遇到问题
5.1收到服务器的 TLS 警告:Handshake failed (40)
重新修改文件【vsftpd.conf】:
ssl_ciphers=HIGH
既可。
配置成功界面:
4.资料参考
vsftp建立虚拟用户不同目录分配不同权限操作步骤详解:
http://www.jb51.net/article/43896.htm
vsftp如何配置虚拟用户实现不同用户拥有不同权限和不同目录:(注:此文章的示例是ubuntu系统的):
http://www.server110.com/vsftpd/201404/10353.html
CentOS6.5下vsftpd加SSL加密服务器配置:
http://www.centoscn.com/image-text/config/2014/0316/2575.html
Vsftpd配置SSL加密FTP数据传输 :
http://yhj1065.blog.163.com/blog/static/19800217201401333453514