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

FTP服务

时间:2015-06-08 15:13:37      阅读:112      评论:0      收藏:0      [点我收藏+]

标签: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服务

标签:ftp

原文地址:http://letitgo.blog.51cto.com/2177345/1659599

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