ftp配置文件详解

 

转载地址:https://www.cnblogs.com/houyongchong/p/10283995.html

转载地址:https://www.cnblogs.com/rainiplus/p/3736186.html

先来讲讲ftp的两种模式:

FTP是有两种数据连接模式的,主动模式和被动模式。

PORT(主动)方式:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。

PASV(被动)方式的连接过程是:
客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。

ftp默认为port主动模式,如果客户端pc所在网络有防火墙,则ftp server在数据传输时,就不能连接到client。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

ftp的配置:

 

#################匿名权限控制###############

anonymous_enable=YES   #是否启用匿名用户
no_anon_password=YES   #匿名用户login时不询问口令

下面这四个主要语句控制这文件和文件夹的上传、下载、创建、删除和重命名。
anon_upload_enable=(yes/no);  #控制匿名用户对文件(非目录)上传权限。
anon_world_readable_only=(yes/no); #控制匿名用户对文件的下载权限
anon_mkdir_write_enable=(yes/no); #控制匿名用户对文件夹的创建权限
anon_other_write_enable=(yes/no); #控制匿名用户对文件和文件夹的删除和重命名

注:匿名用户下载是使用的是nobody这个用户,所以相应的O这个位置要有R权限才能被下载。若想让匿名用户能上传和删除权限,必需设置

write_enable=YES #全局设置,是否容许写入(无论是匿名用户还是本地用户,若要启用上传权限的话,就要开启他)
anon_root=(none) #匿名用户主目录
anon_max_rate=(0) #匿名用户速度限制
anon_umask=(077) #匿名用户上传文件时有掩码(若想让匿名用户上传的文件能直接被匿名下载,就这设置这里为073)
chown_uploads=YES #所有匿名上传的文件的所属用户将会被更改成chown_username
chown_username=whoever #匿名上传文件所属用户名


#################本地用户权限控制###############

write_enable=YES #可以上传(全局控制) 删除,重命名
local_umask=022  #本地用户上传文件的umask
userlist_enable=YES #限制了这里的用户不能访问
local_root  #设置一个本地用户登录后进入到的目录
user_config_dir  #设置用户的单独配置文件,用哪个帐户登陆就用哪个帐户命名
download_enable  #限制用户的下载权限

chown_uploads=YES #所有匿名上传的文件的所属用户将会被更改成chown_username
chown_username=whoever #匿名上传文件所属用户名

chroot_list_enable=YES #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录
chroot_list_file=/etc/vsftpd/chroot_list #指定限制的用户文件

user_config_dir= #后面跟存放配置文件的目录。用来实现不同用户不同权限。
   #在vsftpd.conf文件中加入这一句,
   #在相应的目录里面,为每个用户创建自己的配置文件,用来实现不同的权限


可以通过以下三条配置文件来控制用户切换目录。
chroot_list_enable=YES/NO   #设置是否启用chroot_list_file配置项指定的用户列表文件。
      #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录 .默认值为yes。

chroot_list_file=/etc/vsftpd/chroot_list #指出被锁定在自家目录中的用户的列表文件。

chroot_list_enable=YES
通过与chroot_local_user=YES/NO搭配能实现以下几种效果:
1、当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
2、当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
3、当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
4、当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

 

下面是一份详细的说明:

 

anonymous_enable=YES

# 是否允许匿名用户登陆

no_anon_password=NO

# 是否忽略对匿名用户的密码检测

anon_root

# 匿名登陆后尝试更改的目录

ftp_username=ftp

# 匿名用户登陆的username

anon_mkdir_write_enable=NO

# 是否允许匿名用户创建目录

anon_other_write_enable=NO

# 是否允许匿名用户对文件增、删、改

anon_upload_enable=NO

# 是否允许匿名用户上传文件

anon_world_readable_only=YES

# 如果为YES,匿名用户只能下载可读的文件

anon_max_rate=0

# 允许匿名用户最大数据传输速率,单位为B/s

anon_umask=077

#

chown_uploads=NO

# 如果设置为YES,所有的匿名用户上传的文件属主都设置为chown_username指定用户

chown_username=root

# 指定chown_uploads中所需的文件属主用户

deny_email_enable=NO

# 如果设置为YES,则提供一个内容为mail address的文件,若是使用匿名登入,则会要求输入email address,如果它不在文件内,则禁止进入

banned_email_file=/etc/vsftpd/banned_emails

# 指定deny_email_enable中的文件路径

 

本地用户组配置:

local_enable=YES

# 是否允许本地用户登陆

write_enable=YES

# 本地用户写权限

local_umask=022

# 本地用户的文件umask码

local_root=none

# 本地用户登陆后改变的目录,默认是各自家目录

local_max_rate=0(unlimited)

# 本地用户使用的最大传输速度,单位为B/s

 

虚拟用户配置:

pam_service_name=vsftpd

# 设置PAM使用的名称

guest_enable=NO

# 是否启用虚拟用户

guest_username=vsftpuser

# 指定本地用户名,用来映射虚拟用户

virtual_use_local_privs=NO

# 如果启用,虚拟用户将使用与本地用户相同的权限,否则与匿名用户权限相同

 

banner参数配置

dirmessage_enable=YES

# 如果设置为YES,当用户首次进入一个目录后,会查找.message文件并显示。

message_file=.message

# 设置message文件

ftpd_banner=Welcome to blah FTP service.

# 设置进入banner信息

banner_file=none

# 设置一个包含banner信息的文件路径,开启它将会覆盖ftpd_banner

 

日志配置:

 

xferlog_enable=YES

# 是否开启上传下载日志,默认放在/var/log/vsftpd.log

xferlog_std_format=NO

# 日志将以xferlog格式写入

xferlog_file=/var/log/xferlog

# 设置日志存放路径

log_ftp_protocol

# 记录所有请求和响应,前提是xferlog_std_format=NO

 

数据传输模式:

 

ascii_upload_enable=YES

# 是否启用ASCII模式上传数据

ascii_download_enable=YES

# 是否启用ASCII模式下载数据

 

工作模式和端口设置:

 

listen_port=21

# 设置ftp服务工作的端口

connect_from_port_20=YES

# 主动模式数据传输的端口

pasv_enable=YES

# YES为被动模式工作,NO则是主动模式,默认YES

pasv_max_port=0

# PASV模式下,最大传输数据端口号,0为任意无限制

pasv_min_port=0

# PASV模式下,最小传输数据端口号

 

超时时间设置:

 

idle_session_timeout=600

# 客户端连接FTP后无命令超时时间

data_connection_timeout=120

# 无数据传输超时时间

accept_timeout=60

# 建立FTP连接的超时时间

connect_timeout=60

# PORT模式下建立数据连接的超时时间

 

目录权限,锁定家目录:

 

chroot_local_user=NO

# 是否禁止本地用户切换到家目录上级目录,绑定家目录为用户的根目录

chroot_list_enable=NO

# 是否启用chroot列表文件,写入文件中的用户将锁定家目录

chroot_list_file=/etc/vsftpd/chroot_list

# 指定用户列表文件的文件路径

chroot_local_user=YES,chroot_list_enable=YES

# chroot_list_file文件中的用户可以切换到其他目录

chroot_local_user=NO,chroot_list_enable=YES

# chroot_list_file文件中的用户将锁定在家目录下

chroot_local_user=YES,chroot_list_enable=NO

# 所有本地用户都锁定在家目录下

chroot_local_user=NO,chroot_list_enable=NO

# 所有本地用户都可以切换到其他目录

 

服务运行模式与连接模式:

 

listen=YES

# 设 置vsftpd服务器是否以standalone模式运行,有很多与服务器运行相关的配置命令,需要在此模式下才有效

# 若设置为NO,则vsftpd以super daemon运行,要受到xinetd 服务的管控,功能上会受到限制

max_clients=0(unlimited)

# 设置客户端最大连接数,standalone模式下有效

max_per_ip=0(unlimited)

# 同一IP客户端最大连接数,standalone模式下有效

 

用户访问控制:

 

userlist_file=/etc/vsftpd/user_list

# 控制用户访问FTP的文件

userlist_enable=NO

# 如果启用,vsftpd将从userlist_file提供的文件名加载用户名列表

userlist_deny=YES

# 如果设为YES,userlist_file文件中的用户不可以访问FTP服务;如果设为NO,只用文件中用户才能访问服务

/etc/vsftpd/ftpusers

# 文件用来定义不允许访问FTP服务的用户列表,优先级比userlist_deny高

 

自定义用户配置:

 

user_config_dir=/etc/vsftpd/virtual_user_conf/

# 指定虚拟用户配置文件目录,目录下可以创建与虚拟用户名相同的文件,给予不同的权限设置

 

其他设置:

 

download_enable=YES

# 如果设置为NO,所有下载请求被拒绝

ls_recurse_enable=NO

# 启用后,允许使用ls -R命令,此命令可能会消耗大量资源

 

日志格式:

记录数据
 

参数名称
 

参数说明
 

Thu Sep 6 09:07:48 2007
 

当前时间
 

当前服务器本地时间,格式为: 
DDD MMM dd hh:mm:ss YYY
 

7
 

传输时间
 

传送文件所用时间,单位为秒
 

192.168.57.1
 

远程主机名称/IP
 

远程主机名称/IP
 

4323279
 

文件大小
 

传送文件的大小,单位为byte
 

/home/student/phpMyadmin-
2.11.0-all-languages.tar.gz
 

文件名
 

传输文件名,包括路径
 

b
 

传输类型
 

传输方式的类型,包括两种:
a以ASCII传输 b以二进制文件传输
 


 

特殊处理标志
 

特殊处理的标志位,可能的值包括:
_ 不做任何特殊处理
C 文件是压缩格式
U 文件是非压缩格式
T 文件是tar格式
 

i
 

传输方向
 

文件传输方向,包括两种:
o 从FTP服务器向客户端传输
i 从客户端向FTP服务器传输
 

r
 

访问模式
 

用户访问模式,包括:
a 匿名用户
g 来宾用户
r 真实用户,即系统中的用户
 

student
 

用户名
 

用户名称
 

ftp
 

服务名
 

所使用的服务名称,一般为FTP
 

0
 

认证方式
 

认证方式,包括:
0 无
1 RFC931认证
 

*
 

认证用户id
 

认证用户的id,如果使用*,则表示无法获得该id
 

c
 

完成状态
 

传输的状态:
c 表示传输已完成
i 表示传输示完成
 

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Squid是一种高性能的代理服务器,可以用于缓存Web页面,提供访问控制,以及其他一些网络服务。以下是Squid的配置文件详解: 1. 基础配置 Squid配置文件的默认位置是/etc/squid/squid.conf,可以通过编辑此文件来实现基本配置。以下是一些基本配置: ``` http_port 3128 cache_mem 100 MB maximum_object_size 4096 KB ``` - http_port:指定Squid代理服务器监听的端口号,默认为3128。 - cache_mem:指定Squid使用的缓存大小,默认为32 MB。 - maximum_object_size:指定Squid可以缓存的最大对象大小,默认为4 MB。 2. 访问控制 Squid可以通过访问控制列表(ACL)来限制用户的访问。以下是一些示例配置: ``` acl localnet src 192.168.0.0/16 http_access allow localnet http_access deny all ``` - acl:定义一个ACL,指定IP地址范围或其他限制条件。 - http_access:指定允许或拒绝访问的ACL。 - allow:允许指定的ACL访问代理服务器。 - deny:拒绝指定的ACL访问代理服务器。 - all:表示所有请求都匹配该规则。 3. 缓存控制 Squid可以缓存Web页面,以便更快地访问。以下是一些示例配置: ``` cache_dir ufs /var/spool/squid 100 16 256 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 ``` - cache_dir:指定Squid使用的缓存目录。 - ufs:指定使用ufs文件系统。 - /var/spool/squid:缓存目录的位置。 - 100:指定缓存目录的大小(单位:MB)。 - 16:指定缓存目录中的目录数量。 - 256:指定缓存目录中的文件数量。 - refresh_pattern:指定Squid对缓存页面的刷新策略。 - ^ftp::对FTP页面进行缓存。 - ^gopher::对Gopher页面进行缓存。 - (/cgi-bin/|\?):对CGI脚本和动态页面不进行缓存。 4. 日志记录 Squid可以记录访问日志和错误日志。以下是一些示例配置: ``` access_log /var/log/squid/access.log squid cache_log /var/log/squid/cache.log ``` - access_log:指定Squid记录访问日志的位置。 - /var/log/squid/access.log:访问日志文件的位置。 - squid:指定访问日志的格式。 - cache_log:指定Squid记录错误日志的位置。 - /var/log/squid/cache.log:错误日志文件的位置。 这些是Squid配置文件中的一些基本配置项。通过编辑这些配置项,可以实现更高效、更安全的代理服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值