之所以把他们三个放在一起写,是因为这三个都是关乎资源限制及保障FTP服务器稳定运行的。
默认配置文件中是没有这三个选项的,如需要可手动添加。vsftpd配置文件路径:/etc/vsftpd/vsftpd.conf
max_clients=10 #配置最大并发客户端连接数。 max_per_ip=5 #配置单个IP可使用的线程数(主要为了“照顾”迅雷等多线程下载软件)。 local_max_rate=50000 #配置用户的最大下载速度,单位是b/s。
之所以把他们三个放在一起写,是因为这三个都是关乎资源限制及保障FTP服务器稳定运行的。
默认配置文件中是没有这三个选项的,如需要可手动添加。vsftpd配置文件路径:/etc/vsftpd/vsftpd.conf
max_clients=10 #配置最大并发客户端连接数。 max_per_ip=5 #配置单个IP可使用的线程数(主要为了“照顾”迅雷等多线程下载软件)。 local_max_rate=50000 #配置用户的最大下载速度,单位是b/s。
之所以把这两个放在一起写,不是因为他们两个都是关于超时时间的设定,而是因为这俩在配置文件中离得实在太近了(手动滑稽)~
编辑主配置文件。
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
转到第五十九行,其就是设置无操作时的超时时间的选项,默认时间单位是秒,默认动作是什么都不做,如果你想配置一个超时时间那么请取消注释(删除#
符号)。
#idle_session_timeout=600
转到第62行,这一行是关于文件传输超时时间的设定,默认单位也是秒,默认动作是什么都不做。
#data_connection_timeout=120</pre>
参数 | 说明 |
listen_address=ip address | 指定侦听IP |
listen_port=port_value | 指定侦听端口,默认21 |
anonymous_enable=YES | 是否允许使用匿名帐户 |
local_enable=YES | 是否允许本地用户登录 |
nopriv_user=ftp | 指定vsftpd服务的运行帐户,不指定时使用ftp |
write_enable=YES | 是否允许写入 |
anon_upload_enable=YES | 匿名用户是否可上传文件 |
anon_mkdir_write_enable=YES | 匿名用户是否建立目录 |
dirmessage_enable=YES | 进入每个目录是显示欢迎信息,在每个目录下建立.message文件在里面写欢迎信息 |
xferlog_enable=YES | 上传/下载文件时记录日志 |
connect_from_port_20=YES | 是否使用20端口传输数据(是否使用主动模式) |
chown_uploads=YES、chown_username=whoever | 修改匿名用户上传文件的拥有者 |
xferlog_file=/var/log/vsftpd.log | 日志文件 |
xferlog_std_format=YES | 使用标准文件日志 |
idle_session_timeout=600 | 会话超时,客户端连接到ftp但未操作 |
data_connection_timeout=120 | 数据传输超时 |
async_abor_enable=YES | 是否允许客户端使用sync等命令 |
ascii_upload_enable=YES、ascii_download_enable=YES | 是否允许上传/下载二进制文件 |
chroot_local_user=YES | 限制所有的本地用户在自家目录 |
chroot_list_enable=YES、chroot_list_file=/etc/vsftpd/chroot_list | 指定不能离开家目录的用户,将用户名一个一行写在/etc/vsftpd/chroot_list文件里,使用此方法时必须chroot_local_user=NO |
ls_recurse_enable=YES | 是否允许使用ls -R等命令 |
listen=YES | 开启ipv4监听 |
listen_ipv6=YES | 开启ipv6监听 |
pam_service_name=vsftpd | 使用pam模块控制,vsftpd文件在/etc/pam.d目录下 |
userlist_enable=YES | 此选项被激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。当列表中的用户登录FTP服务器时,该用户在提示输入密码之前就被禁止了。即该用户名输入后,vsftpd查到该用户名在列表中,vsftpd就直接禁止掉该用户,不会再进行询问密码等后续步聚 |
userlist_deny=YES | 决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。此选项在userlist_enable 选项启动后才生效。YES,默认值,禁止文件中的用户登录,同时也不向这些用户发出输入密码的提示。NO,只允许在文件中的用户登录FTP服务器 |
tcp_wrappers=YES | 是否允许tcp_wrappers管理 |
local_root=/home/ftp | 所有用户的根目录,,对匿名用户无效 |
anon_max_rate | 匿名用户的最大传输速度,单位是Byts/s |
local_max_rate | 本地用户的最大传输速度,单位是Byts/s |
download_enable= YES | 是否允许下载 |
安装vsftpd:
[root@hostname ~]# yum install vsftpd
vsftpd的配置文件:/etc/vsftpd/vsftpd.conf
编辑配置文件:
[root@hostname ~]# vim /etc/vsftpd/vsftpd.conf
做以下改动:
anonymous_enable=NO禁止匿名用户anonymous登录 chroot_local_user=YES将登陆用户活动范围限制在自己的目录中。(记得去除该条语句前的注释符号“#”)
vsftpd配置文件详解参考此篇文章。
保存并退出,自此ftp服务器搭建完成。
下面创建一个ftp账户sxy,所属组为ftp组,指定他的家目录为根目录下的sxy文件夹,不让其登陆shell。
[root@hostname ~]# useradd -d /sxy -g ftp -s /sbin/nologin sxy
为其配置密码
[root@hostname ~]# passwd sxy
在保证防火墙与SELinux均关闭的情况下重启vsftpd服务器。
[root@hostname ~]# service vsftpd restart
最后,使用ftp客户端测试登陆ftp服务器并上传文件。
推荐使用FileZilla来测试,这是一款开源免费的FTP客户端。相较于使用windows资源管理器测试的好处是FileZilla可以更详细的显示错误信息,便于排错。