标签:ftp
一、简介
FTP:File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文件传输协议”。用于Ineternet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议传输文件。在FTP的使用当中,用户经常遇到两个概念:“下载”(Download)和“上传”(Upload)。
“下载”文件就是从远程主机拷贝文件至自己的计算机上。
“上传”文件就是将文件从自己计算机中拷贝至远程主机上。
支持FTP协议的服务器就是FTP服务器。
二、工作模式
FTP连接及传输模式
控制连接:TCP 21,用于发送FTP命令信息
数据连接:TCP 20,用于上传、下载数据
数据连接的建立类型:
主动模式:服务端从20端口主动向客户端发起连接
被动模式:服务端在指定范围内某个端口被动等待客户端连接
三、相关配置
第12行:控制匿名登录
anonymous_enable=YES
第15行:允许本地帐号登录
local_enable=YES
第18行:控制可写权限
write_enable=YES
第22行:控制本地文件的权限掩码
local_umask=022
第27行:控制是否允许匿名上传(与26行同时开启或关闭)
anon_upload_enable=YES
第31行:控制是否允许匿名写及创建目录的权限
aanon_mkdir_write_enable=YES
第35行:控制上传或下载的日志记录
dirmessage_enable=YES
第42行:启用FTP数据端口连接请求
connect_from_port_20=YES
第56行:控制日志的保存路径
xferlog_file=/var/log/xferlog
第59行:设置指令超时的时间,默认为600秒
idle_session_timeout=600
第62行:设置数据连接的超时时间,默认为120秒
data_connection_timeout=120
第91行:控制登录FTP的用户是否被限制在家目录下;
chroot_list_enable=YES
四、vsftp下的匿名用户、本地用户及虚拟用户的配置
1)匿名用户
vim /etc/vsftpd/vsftpd.conf
write_enable=YES #允许所有用户可以写入文件
anonymous_enable=YES #启用匿名用户
anon_umask=022 #匿名用户上传文件的权限掩码
anon_upload_enable=YES #匿名用户可以上传文件
anon_mkdir_write_enable=YES #匿名用户可以在服务端创建目录
anon_other_write_enable=YES #开放其他写入权限(比如删除目录)
anon_root=/var/ftp #匿名用户的FTP根目录
--------------------------------------------------------
chown ftp /var/ftp/pub #更改目录的属主,使匿名用户有权限在pub目录中创建文件
2)本地用户
vim /etc/vsftpd/vsftpd.conf
local_enable=YES #启用本地用户
write_enable=YES #所有用户可以写入
local_umask=022 #本地用户所上传文件的权限掩码
chroot_local_user=YES #是否将用户禁锢在主目录
3)虚拟用户
1、建立虚拟FTP用户的账号数据库文件
[root@localhost ~]# vim /etc/vsftpd/vusers.list
zhangsan
123
lisi
123
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost ~]# db_load -T -t hash -f vusers.list vusers.db
[root@localhost ~]# chmod 600 /etc/vsftpd/vusers.*
2、创建FTP根目录及虚拟用户映射的系统用户
[root@localhost ~]# useradd -d /var/ftproot -s /sbin/nologin virtual
[root@localhost ~]# chmod 755 /var/ftproot/
3、支持虚拟用户的PAM认证文件
[root@localhost ~]# vim /etc/pam.d/vsftp.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
4、在vsftpd.conf文件中添加支持配置
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
write_enable=YES
guest_enable=YES #启用虚拟用户
guest_username=virtual #虚拟用户映射的本地用户
pam_service_name=vsftpd.vu #虚拟用户认证文件
5.为个别虚拟用户建立独立的配置文件
在vsftpd.conf文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vusers_dir
为用户zhangsan、lisi建立独立的配置目录及文件
[root@localhost ~]# mkdir /etc/vsftpd/vusers_dir/
[root@localhost ~]# cd /etc/vsftpd/vusers_dir/
[root@localhost ~]# vim zhangsan
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@localhost ~]# touch lisi
[root@localhost ~]# service vsftpd restart
标签:ftp
原文地址:http://letitgo.blog.51cto.com/2177345/1659599