前言:FTP 是File Transfer Protocol(文件传输协议)的英文简称,FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。vsftp是Linux中非常安全且快速稳定的FTP服务器(centos和redhat自带)
Vsftpd的实现有三种方式:
1)匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问(一般工作中不使用)
2)本地用户形式:以/etc/passwd中的用户名为认证方式,也称为系统用户形式(配置简单)
3)虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中,虚拟用户只是FTP服务器的专有用户(较安全,配置较复杂)
vsftp安装
yum安装:存在本地yum源或者服务器能上网的情况 yum -y install vsftpd
rpm包安装:rpm -ivh vsftpd-2.2.2-11.el6_4.1.i686.rpm (32位)
启动vsfptd服务器#service vsftpd start
现在就可以用
匿名用户登录了。默认的匿名用户为'ftp',密码为空。根目录为'/var/ftp'
现在匿名用户只能从服务器上下载文件,没有上转及建立文件夹权限
vsftp配置本地用户形式
vsftp默认不允许root用户登录,创建系统用户test且不允许其进行远程登录
#useradd -s /sbin/nologin test
#passwd test(设置test用户密码)
#vim /etc/vsftpd/vsftpd.conf 更改vsftp配置文件
anonymous_enable=NO 关闭匿名登录ftp
chroot_local_user=YES 限制所有系统用户在自己的家目录中
chroot_list_enable=NO 限制本机使用者登入均可进到根目录之外的数据夹
添加 userlist_deny=NO #则 /etc/vsftpd/user_list文件中的用户才可以登录
# vim /etc/vsftpd/user_list 将test用户添加进去,其他用户可以注释掉,此时只有test可以登录
#chkconfig vsftpd on 开机自启
#service vsftpd restart 重启服务
记得关闭iptables和selinux,搞定
vsftp配置虚拟用户形式
建立虚拟账号相关联的系统账号 useradd virftp -s /sbin/nologin
建立虚拟账户相关的文件 vim /etc/vsftpd/vsftpd_login //内容如下:
test1 #账户
123456 #密码
test2
abcdef
chmod 600 /etc/vsftpd/vsftpd_login
生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
建立虚拟账号相关的目录以及配置文件 mkdir /etc/vsftpd/vsftpd_user_conf
cd /etc/vsftpd/vsftpd_user_conf 创建和用户对应的配置文件
vim test1 内容如下:
local_root=/home/virftp/test1 #vsftp共享根目录
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=50000
mkdir /home/virftp/test1
修改权限: chown -R virftp:virftp /home/virftp
vim /etc/pam.d/vsftpd 在最开头添加两行
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //如果是64位系统,则改为/lib64/security/pam_userdb.so
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //如果是64位系统,则改为/lib64/security/pam_userdb.so
再修改/etc/vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES改为anonymous_enable=NO
anon_upload_enable=YES 改为 anon_upload_enable=NO
anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加:
-
chroot_local_user=YES
-
guest_enable=YES
-
guest_username=virftp
-
virtual_use_local_privs=YES
-
user_config_dir=/etc/vsftpd/vsftpd_user_conf
启动vsftpd服务/etc/init.d/vsftpd start
#chkconfig vsftpd on 开机自启
记得关闭iptables和selinux,搞定
阅读(1581) | 评论(0) | 转发(0) |