`

linux中ftp配置文件详解

阅读更多

vsftpd配置文件采用“#”作为注释符,以“#”开头的行和空白行在解析时将被忽略,其余的行被视为配置命令行,每个配置命令的“=”两边不要留有空格。对于每个配置命令,在配置文件中还列出了相关的配置说明,利用vi编辑器可实现对配置文件的编辑修改。方法如下:
#vi /etc/vsftpd/vsftpd.conf

1.登录和对匿名用户的设置


write_enable=YES //是否对登录用户开启写权限。属全局性设置。默认NO
local_enable=YES //是否允许本地用户登录FTP服务器。默认为NO
anonymous_enable=YES //设置是否允许匿名用户登录FTP服务器。默认为YES
ftp_username=ftp //定义匿名用户的账户名称,默认值为ftp。
no_anon_password=YES //匿名用户登录时是否询问口令。设置为YES,则不询问。默
认NO
anon_world_readable_only=YES //匿名用户是否允许下载可阅读的文档,默认为YES。
anon_upload_enable=YES //是否允许匿名用户上传文件。只有在write_enable设置为
YES时,该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO。
anon_mkdir_write_enable=YES //是否允许匿名用户创建目录。只有在write_enable设置为 YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。
anon_other_write_enable=NO //若设置为YES,则匿名用户会被允许拥有多于
上传和建立目录的权限,还会拥有删除和更名权限。默认值为NO。

2.设置欢迎信息

用户登录FTP服务器成功后,服务器可向登录用户输出预设置的欢迎信息。
ftpd_banner=Welcome to my FTP server.
//该配置项用于设置比较简短的欢迎信息。若欢迎信息较多,则可使用banner_file配置项。
banner_file=/etc/vsftpd/banner
//设置用户登录时,将要显示输出的文件。该设置项将覆盖ftpd_banner的设置。
dirmessage_enable=YES
//设置是否显示目录消息。若设置为YES,则当用户进入特定目录(比如/var/ftp/linux)时,将显示该目录中的由message_file配置项指定的文件(.message)中的内容。
message_file=.message //设置目录消息文件。可将显示信息存入该文件。该文件需要放在 相应的目录(比如/var/ftp/linux)下

3.设置用户登录后所在的目录
local_root=/var/ftp
// 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录FTP服务器后,所在的目录为该用户的主目录,对于root用户,则为/root目录。
anon_root=/var/ftp
//设置匿名用户登录后所在的目录。若未指定,则默认为/var/ftp目录。

4.控制用户是否允许切换到上级目录
在默认配置下,用户可以使用“cd..”命名切换到上级目录。比如,若用户登录后所在的目录为/var/ftp,则在“ftp>”命令行 下,执行“cd..”命令后,用户将切换到其上级目录/var,若继续执行该命令,则可进入Linux系统的根目录,从而可以对整个Linux的文件系统 进行操作。

若设置了write_enable=YES,则用户还可对根目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此,必须防止用户切换到Linux的根目录,相关的配置项如下:
chroot_list_enable=YES
// 设置是否启用chroot_list_file配置项指定的用户列表文件。设置为YES则除了列在j/etc/vsftpd/chroot_list文件中的的帐号外,所有登录的用户都可以进入ftp根目录之外的目录。默认NO
chroot_list_file=/etc/vsftpd/chroot_list
// 用于指定用户列表文件,该文件用于控制哪些用户可以切换到FTP站点根目录的上级目录。
chroot_local_user=YES
// 用于指定用户列表文件中的用户,是否允许切换到上级目录。默认NO
注意:要对本地用户查看效果,需先设置local_root=/var/ftp

具体情况有以下几种:
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时,所有用户均可以切换到上级目录。
5)当用户不允许切换到上级目录时,登录后FTP站点的根目录“/”是该FTP账户的主目录,即文件的系统的/var/ftp目录。

5.设置访问控制
(1)设置允许或不允许访问的主机(见TBP14)
tcp_wrappers=YES用来设置vsftpd服务器是否与tcp wrapper相结合,进行主机的访问控制。默认设置为YES,vsftpd服务器会检查/etc/hosts.allow和/etc /hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。
比如,若要仅允许192.168.168.1~192.168.168.254的用户,可以访问连接vsftpd服务器,则可在/etc/hosts.allow文件中添加以下内容:
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny

(2)设置允许或不允许访问的用户
对用户的访问控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件来控制实现。相关配置命令如下:
userlist_enable=YES
// 决定/etc/vsftpd/user_list文件是否启用生效。YES则生效,NO不生效。
userlist_deny=YES
// 决定/etc/vsftpd/user_list文件中的用户是允许访问还是不允许访问。若设置为YES,则/etc/vsftpd/user_list 文件中的用户将不允许访问FTP服务器;若设置为NO,则只有vsftpd.user_list文件中的用户,才能访问FTP服务器。

6.设置访问速度
anon_max_rate=0
//设置匿名用户所能使用的最大传输速度,单位为b/s。若设置为0,则不受速度限制,此为默认值。
local_max_rate=0
// 设置本地用户所能使用的最大传输速度。默认为0,不受限制。

7.定义用户配置文件
在vsftpd服务器中,不同用户还可使用不同的配置,这要通过用户配置文件来实现。
user_config_dir=/etc/vsftpd/userconf //用于设置用户配置文件所在的目录。
设置了该配置项后,当用户登录FTP服务器时,系统就会到/etc/vsftpd/userconf目录下读取与当前用户名相同的文件,并根据文件中的配 置命令,对当前用户进行更进一步的配置。比如,利用用户配置文件,可实现对不同用户进行访问的速度进行控制,在各用户配置文件中,定义 local_max_rate配置,以决定该用户允许的访问速度。

8.与连接相关的设置
listen=YES
//设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES, 此为默认值,建议不要更改。很多与服务器运行相关的配置命令,需要此运行模式才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受 xinetd服务的管理控制,功能上会受限制。

max_clients=0
//设置vsftpd允许的最大连接数,默认为0,表示不受限制。若设置为150时,则同时允许有150个连接,超出的将拒绝建立连接。只有在以standalone模式运行时才有效。

max_per_ip=0
// 设置每个IP地址允许与FTP服务器同时建立连接的数目。默认为0,不受限制。通常可对此配置进行设置,防止同一个用户建立太多的连接。只有在以standalone模式运行时才有效。

listen_address=IP地址
//设置在指定的IP地址上侦听用户的FTP请求。若不设置,则对服务器所绑定的所有IP地址进行侦听。只有在以standalone模式运行时才有效。 对于只绑定了一个IP地址的服务器,不需要配置该项,默认情况下,配置文件中没有该配置项。若服务器同时绑定了多个IP地址,则应通过该配置项,指定在哪 个IP地址上提供FTP服务,即指定FTP服务器所使用的IP地址。
注意:设置此值前后,可以通过netstat -tnl对比端口的监听情况

accept_timeout=60
//设置建立被动(PASV)数据连接的超时时间,单位为秒,默认值为60。
connect_timeout=60
// PORT方式下建立数据连接的超时时间,单位为秒。
data_connection_timeout=300
//设置建立FTP数据连接的超时时间,默认为300秒。

idle_session_timeout=600
//设置多长时间不对FTP服务器进行任何操作,则断开该FTP连接,单位为秒,默认为600秒。即设置发呆的逾时时间,在这个时间内,若没有数据传送或指令的输入,则会强行断开连接。
pam_service_name=vsftpd
//设置在PAM所使用的名称,默认值为vsftpd。

setproctitle_enable=NO|YES
//设置每个与FTP服务器的连接,是否以不同的进程表现出来,默认值为NO,此时只有一个名为vsftpd的进程。若设置为YES,则每个连接都会有一个vsftpd进程,使用“ps -ef|grep ftp”命令可查看到详细的FTP连接信息。安全起见,建议关闭。

9.FTP工作方式与端口设置
(1)FTP工作方式简介
FTP的工作方式有两种,一种是PORT FTP,另一种是PASV FTP。下面介绍其工作方式。
二者的区别在于PORT FTP的数据传输端口是由FTP服务器指定的,而PASV FTP则是由FTP客户端指定的,而且每次数据连接所使用的端口号都不同。正因为如此,所以在CuteFTP等FTP客户端软件中,其连接类型设置项中有PORT和PASV两种选择。

当FTP服务器设置为PASV工作模式时,客户端也必须设置为PASV连接类型。若客户端连接类型设置为PORT,则能建立FTP连接,但在执行ls或get等需要数据请求的命令时,将会出现无响应并最终报告无法建立数据连接。

(2)与端口相关的配置
listen_port=21
// 设置FTP服务器建立连接所侦听的端口,默认值为21。
连接非标准端口示例:ftp www.sunflower.org 7000
connect_from_port_20=YES
// 默认值为YES,指定FTP数据传输连接使用20端口。若设置为NO,则进行数据连接时,所使用的端口由ftp_data_port指定。

ftp_data_port=20
//设置PORT方式下FTP数据连接所使用的端口,默认值为20。
pasv_enable=YES|NO
//若设置为YES,则使用PASV工作模式;若设置为NO,使用PORT模式。默认为YES,即使用PASV模式。
pasv_max_port=0
//设置在PASV工作方式下,数据连接可以使用的端口范围的上界。默认值为0,表示任意端口。
pasv_mim_port=0
//设置在PASV工作方式下,数据连接可以使用的端口范围的下界。默认值为0,表示任意端口。

10.设置传输模式
FTP在传输数据时,可使用二进制(Binary)方式,也可使用ASCII模式来上传或下载数据。
ascii_download_enable=YES //设置是否启用ASCII模式下载数据。默认为NO。
ascii_upload_enable=YES //设置是否启用ASCII模式上传数据。默认为NO。

11.设置上传文档的所属关系和权限
(1)设置匿名上传文档的属主
chown_uploads=YES
//用于设置是否改变匿名用户上传的文档的属主。默认为NO。若设置为YES,则匿名用户上传的文档的属主将被设置为chown_username配置项所设置的用户名。
chown_username=whoever
//设置匿名用户上传的文档的属主名。只有chown_uploads=YES时才有效。建议不要设置为root用户。 但系统默root

(2)新增文档的权限设定
local_umask=022
//设置本地用户新增文档的umask,默认为022,对应的权限为755。umask为022,对应的二进制数为000 010 010,将其取反为111 101 101,转换成十进制数,即为权限值755,代表文档的所有者(属主)有读写执行权,所属组有读和执行权,其他用户有读和执行权。022适合于大多数情 况,一般不需要更改。若设置为077,则对应的权限为700。
anon_umask=022 //设置匿名用户新增文档的umask。默认077
file_open_mode=0755 //设置上传文档的权限。权限采用数字格式。 默认0666

12.日志文件
xferlog_enable=YES //是否启用上传/下载日志记录。默认为NO
xferlog_file=var/log/vsftpd.log //设置日志文件名及路径。需启用xferlog_enable选项
xferlog_std_format=YES //日志文件是否使用标准的xferlog日志文件格式(与wu-ftpd使用的格式相同) 。默认为NO

13.其他设置
text_userdb_names=NO
//设置在执行ls命令时,是显示UID、GID还是显示出具体的用户名或组名称。默认为NO,以UID和GID方式显示,若希望显示用户名和组名称,则设置为YES。
ls_recurse_enable=YES
//若设置为YES,则允许执行“ls –R”这个命令,默认值为NO。在配置文件中该配置项被注释掉了,与此类似的还有一些配置,需要启用时,将注释符去掉并进行YES或NO的设置即可

分享到:
评论

相关推荐

    Apache FtpServer配置详解

    从零开始介绍Apache FtpServer,并一步一步...--用户配置文件,可以配置用户主目录、写权限、上传数据的速度、下载文件的速度等 --> <!--用户密码加密方式 --> <property name="encryptType" value="MD5"/>

    Linux各种服务器配置祥解

    Linux网络服务配置文件详解.doc Linux下DNS配置文件祥解.doc Linux下FTP服务器配置.doc Linux下的邮件服务器配置.doc Linux下配置完整安全的DHCP服务器详解.doc linux下四种设置基本网络参数的方法.doc 用Linux构建...

    Linux下FTP的配置文件的参数详解[参考].pdf

    Linux下FTP的配置文件的参数详解[参考].pdf

    linux中关于ftp查看不到文件列表的问题详解

    今天配置linux服务器的ftp后,登录都正常,使用ftp工具登录后,所有目录都可以通过手工写路径访问,但是文件夹和文件列表看不到数据。 后来分析,总结原因得出结果是跟selinux有关,于是通过关闭selinux后尝试,ftp...

    vsftpd配置文件详解 

    ubuntu 下搭建ftp 服务器,配置文件中每一项含义详细解释说明

    详解在Linux中搭建一个FTP服务器

    在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用。禁用匿名。第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1;第二个小组使用ftp2,工作目录在:/var/ftp/ftp2。 两个小组互相不能访问各自的...

    Linux服务器搭建实战详解

    在linux操作系统中各种常用服务的配置管理方法及其相关应用,包括ftp服务、电子邮件服务、web服务、dhcp服务、dns服务、代理服务、samba服务、nfs服务、ldap目录服务、ssh服务及mysql数据库服务等。同时本书还加入了...

    Linux中文手册

    11.Lilo.conf (LILO 配置文件) 手册 12.设置和修改 X Window 的显示模式 13.linux使用经验点滴 14.Linux下文件操作编程和GAWK的介绍和应用 15.如何为Linux添加软件详解 16.LINUX的引导过程 17.删除Xteam Linux...

    Linux服务器搭建实战详解 中文版

    介绍了在linux操作系统中各种常用服务的配置管理方法及其相关应用,包括ftp服务、电子邮件服务、web服务、dhcp服务、dns服务、代理服务、samba服务、nfs服务、ldap目录服务、ssh服务及mysql数据库服务等。...

    Linux文件服务器实战详解(匿名用户)

    一、进程与线程 二、vsftp服务器  1.文件传输协议(file transfer protocol,FTP) ... 2)vsftpd安装后的配置文件路径,启动vsftpd服务以及查看进程是否启动   rpm -ql | more  systemctl start v

    Linux中selinux基础配置教程详解

    selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统。 三种模式: Enforcing:强制模式,在selinux运作时,已经开始限制domain/type。 permissive: 警告模式,在...

    详解CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

    Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建。FTP服务器需要安装vsftp服务端软件。我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问...

    Linux下使用vsftp搭建FTP服务器(附参数说明)

    本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置,需要的朋友可以参考下

    企业级Linux服务攻略

    1.2.6 网卡配置文件 1.2.7 setup命令 1.2.8 修改resolv.conf设置DNS 1.3 网络环境测试 1.3.1 ping命令检测网络状况 1.3.2 netstat命令 1.3.3 nslookup测试域名解析 1.4 本章习题 第2章 Samba服务 2.1 Samba原理 ...

    详解Linux中搭建常用服务器

    5、搭建FTP服务器 6、搭建web服务器 安装 apache tomcat 7、搭建samba服务器 一、搭建telnet服务器 1、查看是否有telnet服务 rpm –qa|grep telnet 显示:telnet-0.17-39.el5 还需安装telnet-server-0.17-39.el5 2...

    详解Linux系统中设置SFTP服务用户目录权限的方法

    在工作或者学习的时候,我们常常会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。 方法如下 ...

    入门学习Linux常用必会60个命令实例详解doc/txt

    入门学习Linux常用必会60个命令实例详解 Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作、文件存取、目录操作、进程管理、文件权限设定等。所以,在Linux系统上工作离不...

    Hadoop从入门到上手企业开发

    021 Hadoop 五大服务与配置文件中的对应关系 022 分析Hadoop 三种启动停止方式的Shell 脚本 023 去除警告【Warning$HADOOP HOME is deprecated。】 024 Hadoop相关命令中的【–config configdir】作用 025 Hadoop ...

    Linux强制释放占用端口以及Linux防火墙端口开放方法详解

    所有端口的映射关系在 /etc/services 文件中有 Linux端口简单介绍,端口编号从0-65536,各编号端的用途如下: 0-1023:公认端口,与常见服务绑定(FTP,SSH) 1024-49151:注册端口,用于和一些服务绑定 49152-...

Global site tag (gtag.js) - Google Analytics