Linux vsftpd服务配置详解

【背景】

近日,一朋友domino服务器要进行升级、迁移,搭建了linux测试系统,也开启vsftpd服务,可是配置的ftp账号,程序无法正常下载附件。

【问题跟踪】

通过ftp客户端连接工具登录,发现未跳转到ftp账号指定的目录下面。

cat /etc/vsftpd.config发现开启了:

local_root=/home/test

将此注释重启ftp服务正常。

附录(vsftpd配置详解):

vsftpd服务器配置文件“/etc/vsftpd/vsftpd.conf”,以此为例。

###——每一句中文解释的对象为紧接着下面的语句。

# Example config file /etc/vsftpd/vsftpd.conf

#

# The default compiled in settings are fairly paranoid. This sample file

# loosens things up a bit, to make the ftp daemon more usable.

# Please see vsftpd.conf.5 for all compiled in defaults.

#

# READ THIS: This example file is NOT an exhaustive list of vsftpd options.

# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd‘s

# capabilities.

#

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).

#  ####——是否允许匿名用户登录此FTP服务器。默认下是“YES”允许登录。

anonymous_enable=YES

#

#

# Uncomment this to allow local users to log in.

#  ####——是否允许本地用户登录此FTP服务器。默认下是“YES”允许登录。

local_enable=YES

#

#

# Uncomment this to enable any form of FTP write command.

#  ####——是否允许本地登录用户具有“写入”的权限。默认下是“YES”允许。

write_enable=YES

#

#

# Default umask for local users is 077. You may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd‘s)

#  ####——设置本地用户的文件生成掩码为022,默认为077

local_umask=022

#

#

# Uncomment this to allow the anonymous FTP user to upload files. This only

# has an effect if the above global write enable is activated. Also, you will

# obviously need to create a directory writable by the FTP user.

#  ####——是否允许匿名登录用户具有“上传”的权限。默认下是“YES”允许。当需要启用时需要将此句前面的“#”去掉即可。

#anon_upload_enable=YES

#

#

# Uncomment this if you want the anonymous FTP user to be able to create

# new directories.

#  ####——是否允许匿名登录用户具有“创建目录”的权限。默认下是“YES”允许。当需要启用时需要将此句前面的“#”去掉即可。

#anon_mkdir_write_enable=YES

#

#

# Activate directory messages - messages given to remote users when they

# go into a certain directory.

#  ####——激活目录信息,当远程用户更改目录时,将出现提示信息。

dirmessage_enable=YES

#

#

# Activate logging of uploads/downloads.

#  ####——启用上传和下载日志功能。

xferlog_enable=YES

#

#

# Make sure PORT transfer connections originate from port 20 (ftp-data).

#  ####——启用FTP服务器数据端口的连接请求。

connect_from_port_20=YES

#

#

# If you want, you can arrange for uploaded anonymous files to be owned by

# a different user. Note! Using "root" for uploaded files is not

# recommended!

#chown_uploads=YES

#chown_username=whoever

#

#

# You may override where the log file goes if you like. The default is shown

# below.

#  ####——设置日志文件的文件名及存储路径。默认是/var/log/vsftpd.log。启用时需要将此句前面的“#”去掉。

#xferlog_file=/var/log/vsftpd.log

#

#

# If you want, you can have your log file in standard ftpd xferlog format

#  ####——是否使用标准的ftpd xferlog日志文件格式。默认是启用的。

xferlog_std_format=YES

#

#

# You may change the default value for timing out an idle session.

#  ####——设置空闲的用户会话中断时间,默认是10分钟。启用时需要将此句前面的“#”去掉。

#idle_session_timeout=600

#

#

# You may change the default value for timing out a data connection.

#  ####——设置连接超时的时间,默认是120秒。启用时需要将此句前面的“#”去掉。

#data_connection_timeout=120

#

#

# It is recommended that you define on your system a unique user which the

# ftp server can use as a totally isolated and unprivileged user.

#nopriv_user=ftpsecure

#

#

# Enable this and the server will recognise asynchronous ABOR requests. Not

# recommended for security (the code is non-trivial). Not enabling it,

# however, may confuse older FTP clients. #async_abor_enable=YES

#

#

# By default the server will pretend to allow ASCII mode but in fact ignore

# the request. Turn on the below options to have the server actually do ASCII

# mangling on files when in ASCII mode.

# Beware that on some FTP servers, ASCII support allows a denial of service

# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd

# predicted this attack and has always been safe, reporting the size of the

# raw file.

# ASCII mangling is a horrible feature of the protocol.

#  ####——是否允许使用ascii格式上传和下载文件。默认下是“YES”允许。当需要启用时需要将此句前面的“#”去掉即可。

#ascii_upload_enable=YES

#ascii_download_enable=YES

#

#

# You may fully customise the login banner string:

#  ####——设置FTP用户登录服务器时显示的欢迎信息。当需要启用时需要将此句前面的“#”去掉即可。

#ftpd_banner=Welcome to blah FTP service.

#

#

# You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks.

#deny_email_enable=YES

# (default follows)

#banned_email_file=/etc/vsftpd/banned_emails

#

#

# You may specify an explicit list of local users to chroot() to their home

# directory. If chroot_local_user is YES, then this list becomes a list of

# users to NOT chroot().

#  ####——如果希望用户登录后不能切换到自己目录以外的其他目录,需要去掉此句前面的“#”,启用此句。如果启用此项功能,那么只允许/etc/vsftpd.chroot_list中列出的用户具有该功能。如果希望所有的本地用户都具有此功能,可以在后面增加一行代码:chroot_local_user=YES。

#chroot_list_enable=YES

# (default follows)

#chroot_list_file=/etc/vsftpd/chroot_list

#

#

# You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large

# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES

#

#

#  ####——设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d/目录下。

pam_service_name=vsftpd

#  ####——用户列表中的用户是否允许登录到FTP服务器,默认是不允许。

userlist_enable=YES

#enable for standalone mode

#  ####——使vsftpd处于独立启动模式。

listen=YES

#  ####——使用tcp_wrappers作为主机访问控制方式。

tcp_wrappers=YES

####——额外配置

#

#

#  ####——设置连接服务器的最大并发连接数和用户的最大线程

#max_clients=100      //设置同时连接FTP服务器的并发用户为100

#max_per_ip=2         //设置每用户同一时段并发下载线程数为2,同时只能够下载两个文件

#

#

#  ####——设置匿名用户和本地用户的最大传输速率

#anon_max_rate=20000     //设置匿名用户的最大传输速率为20Kbps

#local_max_rate=1000000  //设置本地用户的最大传输速率为1Mbps

#

#

#  ####——禁止某些IP段的匿名用户访问FTP服务器

#首先确认配置文件/etc/vsftpd/vsftpd.conf中有如下语句且是启用的:

#tcp_wrappers=YES

#用gedit修改文件/etc/hosts.allow如下所示:

#hosts.allow This file describes the names of the hosts which are

#      allowed to use the local INET services,as decided

#      by the ‘/usr/sbin/tcpd‘ server.

vsftpd:192.168.1.9:DENY       //限制IP地址为192.168.1.9和192.168.1.12的主机访问FTP服务器,

vsftpd:192.168.1.12:DENY        切记,一定要在IP地址前面加上“vsftpd:”。

#

#

# ####——允许用户列表中的用户访问FTP服务器,其他不在列表中的用户禁止访问

#userlist_enable=yes

#userlist_deny=NO

#userlist_file=/etc/vsftpd/user_list

#

#

# ####——更改FTP服务器默认的端口号和IP地址,在配置文件/etc/vsftpd/vsftpd.conf中添加如下语句(去除注释符号):

#listen_port=5555       //指定服务器端口号为“5555”,注意:端口号要尽量大于4000

#listen_address=192.168.0.3  //指定服务器监听的IP地址为192.168.0.3

#

# ####——基本操作命令

1、查询vsftpd是否安装命令   rpm -qa | grep vsftpd

2、关闭、启动、重启、状态命令

/etc/rc.d/init.d/vsftpd stop|start|restart|status

service vsftpd stop|start|restart|status # #

服务器性能优化命令集:

One_process_model=YES  ——每个IP单一进程模式

Idle_session_timeout=120  ——踢出空闲2分钟后的用户

Data_connection_timeout=300  ——踢出空闲5分钟后的下载

Accept_timeout=60   ——踢出挂起1分钟后的被动连接

Connect_timeout=60   ——踢出挂起1分钟后的活动连接

Anon_max_rate=50000   ——匿名用户最大传输速率为50kb/s

匿名账户配置命令集:

anonymous_enable=YES           ——允许匿名账户登录

anon_mkdir_write_enable=YES      ——开启匿名账户创建目录和写入文件权限

anon_upload_enable=YES          ——开启匿名账户上传权限

anon_world_readable_only=NO      ——匿名账户不仅只有下载权限

anon_umask=022                 ——新增文件的权限

anon_other_write_enable=NO       ——关闭匿名账户删除、改名权限

anon_max_rate=50000             ——限制最大传输速率

anon_root=/var/ftp/                ——设定匿名账户登录的根目录

no_anon_password=YES           ——匿名用户不用输入密码

ftp_username=test                 ——指定匿名账户的对应本地账户

chown_uploads=YES              ——匿名上传文件的属主为下面指定账户

chown_username=test              ——匿名上传文件的属主的账户

本地账户配置命令集

local_enable=YES                     ——允许本地账户登录

write_enable=YES                     ——开启本地账户的写权限

local_umask=022                      ——新增文件的权限

chroot_local_enable=YES               ——本地账户不能切换到家目录之外

chroot_list_enable=YES                 ——允许某些本地账户可以切换到外面

chroot_list_file=/etc/vsftpd/chroot_list      ——允许切换到外面的本地账户列表

local_root=/home/test                   ——设定本地账户登录的根目录

chmod_enable=YES                    ——本地账户可修改文件权限(SITE CHMOD)

local_max_rate=1000000                ——本地账户的最大传输速率

虚拟用户配置命令集

guest_enable=yes   ——启用虚拟用户

guest_username=ftp   ——指定虚拟用户映射的本地用户,默认为ftp,可以更改



Linux vsftpd服务配置详解

时间: 2024-10-20 21:40:37

Linux vsftpd服务配置详解的相关文章

linux启动服务配置详解

init 进程是所有进程的发起者和控制者.因为在任何基于 Unix 的系统(比如 linux)中,它都是第一个 运行的进程,所以 init 进程的编号(Process ID,PID)永远是 1.如果 init 出现了问题,系统的其余部分 也就随之而垮掉了. init 服务 init 进程是所有进程的发起者和控制者.因为在任何基于 Unix 的系统(比如 linux)中,它都是第一个 运行的进程,所以 init 进程的编号(Process ID,PID)永远是 1.如果 init 出现了问题,系统

linux下IPTABLES配置详解 (防火墙命令)

linux下IPTABLES配置详解 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 24000 -j ACCEPT-A RH-Firewall-1-INPUT -s 121.10.120.24 -p tcp -m tcp --dport 18612 -j ACCEPT 如果你的IPTABLES基础知识还不了解,建议先去看看. 开始配置 我们来配置一个filter表的防火墙. (1)查看本机关于IPTABLES的

Apache httpd(apache2)服务配置详解,Mac下设置虚拟主机部署多个web项目,及反向代理部署Java项目

Apache httpd服务配置详解 查看版本:httpd -v Server version: Apache/2.4.33 (Unix) Server built:   Apr  3 2018 17:54:07 文件路径:/etc/apache2/httpd.conf # 服务目录(全局配置)用于指定Apache的安装路径,# 此选项参数值在安装Apache时系统会自动把Apache的路径写入ServerRoot "/usr" # 设置互斥对象的目录# Mutex default:/

Samba服务配置详解(匿名,身份,别名,访问控制,挂载访问)

Samba服务配置详解 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还

Rsync服务配置详解,实现服务器间数据同步!

1.1 什么是rsync? rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次传送.rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝. 在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程shell如RSH或者SSH伺服文件.SSH情况下,rsync客户端运行程序必须同

linux中的FTP服务配置详解

本文主要内容有:linux中安装vsftpd(也就是FTP服务). 1.使用匿名用户上传和下载文件. 2.使用身份验证的方式上传和下载文件. 3.建立虚拟用户(步骤比较多). 4.为单独的用户建立单独的上传和下载机制(花那么多时间只是为了您知道"兂"这个字). 首先是安装vsftpd服务(也就是FTP服务),安装完成之后使用rpm -qc vsftpd查看文件的安装目录,也可以使用grep命令过滤掉以#开头的注释文件并查看配置文件. 下面是关闭iptables防火墙和SElinux策略

Linux安装vsftpd及配置详解

1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件.[[email protected] ~]# yum -y install vsftpd 2.FTP主动模式与FTP被动模式的端口说明 FTP是仅基于TCP的服务,不支持UDP. 与众不同的是FTP使用2个端口,一个数据端口和一个命令端口(也可叫做控制端口).通常来说这两个端口是21(命令端口)和20(数据端口).但FTP工作方式的不同,数据端口并不总是20.这就是主动与被动FTP

vsftp服务配置详解

FTP服务器简介: FTP服务器是提供文件存储和访问服务的服务器,通过ftp(文件传输协议)实现数据传输,而且FTP是仅基于TCP的服务,不支持UDP.FTP应用是一种C/S架构的应用,客户端和服务器端都需要安装相关的软件才能实现相互之间的数据传输.常见的软件套件有FileZilla,Server-U,VsFTP,Pure-FTPd ,ProFTPD等,其中VsFTP,Pure-FTPd ,ProFTPD是单纯的服务器程序,常见客户端程序有ftp,lftp.本文实验环境中采用的服务器程序是vsf

smb服务配置详解

配置用户共享用户 环境说明 服务端IP 客户端IP 192.168.24.248 192.168.24.145 在服务端操作如下 1.环境准备 关闭防火墙和selinux [[email protected] ~]systemctl disable firewalld [[email protected] ~]systemctl stop firewalld [[email protected] ~]sed -ri '#^SELINUX=#cSELINUX=Disabled' /etc/seli