FTP简介
FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为文传协议,用户Internet上的控制文件的双向传输。
FTP的主要作用,就是让用户链接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有那些文件,然后把文件从远程计算机拷贝到本地计算机,或把本地计算机的文件送到远程计算机去,在CentOS或者Redhatlinux上自带的ftp软件叫做vsftpd:vsftpd可以使用系统自带账号。
vsftp安装
vsftp服务端安装
- vsftp服务:yum install -y vsftpd-2.2.2-11.el6_4.1.i686
- 密码生成库:yum install -y db4-utils-4.7.25-18.el6_4.i686
vsftp客户端安装
- 安装pure-ftpd访问插件:yum -y install lftp
vsftp服务端配置
1、创建系统账户# 建立虚拟账号关联的系统账号、设置为不可登陆 useradd virftp -s /sbin/nologin
2、建立虚拟账户相关的文件、奇数行用户,偶数行为密码
vim /etc/vsftpd/vsftpd_login
test1 123456 test2 123456
chmod 600 /etc/vsftpd/vsftpd_login
4、生成对应的库文件
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
5、建立虚拟账户相关的配置文件
mkdir /etc/vsftpd/vsftpd_user_conf
6、进入虚拟用户配置文件目录,添加内容
vim /etc/vsftpd/vsftpd_user_conf/test1
# 用户家目录 local_root=/home/virftp/test1 # 是否允许匿名账号登陆 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 # 最大IP数 max_per_ip=5 # 最大文件传输速度 local_max_rate=50000
mkdir /home/virftp/test1
8、赋值所属权限,用户是映射的系统用户
chown -R virftp:virftp /home/virftp
9、修改ftp配置文件 在最开头添加两行
vim /etc/pam.d/vsftpd
# 两个认证相关的模块、如果启动不了ftp需查看是否是lib64位 auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
10、编辑FTP主配置文件
vim /etc/vsftpd/vsftpd.conf
修改配置参数: # 限制匿名账户登陆、改为NO anonymous_enable=NO # 限制匿名账户不可上传、改为NO anon_upload_enable=NO # 限制匿名账户不可创建、改为NO 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
vsftp客户端测试
1、客户端访问FTP
lftp test1@192.168.1.107
2、使用命令
使用命令:? 查询 put 上传命令 get 下载命令