Ubuntu下Vsftpd服务器配置指南
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
local_umask=<nnn> :设置本地用户长传的文件的生成掩码,默认为 077 local_max_rate<n> :设置本地用户最大的传输速率,单位为 bytes/sec,值为 0 表示不限制 local_root=<file> :设置本地用户登陆后的目录,默认为本地用户的主目录 chroot_local_user=<YES/NO> :当为 YES 时,所有本地用户可以执行 chroot chroot_list_enable=<YES/NO> chroot_list_file=<filename> :当 chroot_local_user=NO 且 chroot_list_enable=YES 时,只有 filename 文件指定的用户可以执行 chroot anonymous_enable=<YES/NO> :设置是否支持匿名用户访问 anon_max_rate=<n> :设置匿名用户的最大传输速率,单位为 B/s,值为 0 表示不限制 anon_world_readable_only=<YES/NO> 是否开放匿名用户的浏览权限 anon_upload_enable=<YES/NO> 设置是否允许匿名用户上传 anon_mkdir_write_enable=<YES/NO> :设置是否允许匿名用户创建目录 anon_other_write_enable=<YES/NO> :设置是否允许匿名用户其他的写权限(注意,这个在安全上比较重 要,一般不建议开,不过关闭会不支持续传) anon_umask=<nnn> :设置匿名用户上传的文件的生成掩码,默认为 077 anon_root=<file> :设置匿名用户登陆后的目录 no_anon_password=<YES/NO> :设置匿名用户登陆是否询问密码 ascii_download_enable=<YES/NO> ascii_upload_enable=<YES/NO> :一般为 NO,启动这个可能会导致 DoS 的攻击 hide_ids=<YES/NO> :如果启动,所有档案拥有者与组群都为 FTP,也是就 ls -l 之类指令看到的拥有者和 组均为 FTP ls_recurse_enable=<YES/NO> :启动此功能,则允许登录者使用 ls -R 这个指令,默认为 NO tcp_wrappers=<YES/NO> :设置服务器是否支持 tcp_wrappers(就是支持/etc/hosts.allow 和 /etc/hosts.deny 这两个文件) pam_service_name=vsftpd :设置 PAM 模块的名称 xferlog_enable=<YES/NO> :是否启动 FTP 日志记录 xferlog_file=/var/log/vsftpd.log :设置日志记录文件的名称 xferlog_std_format=<YES/NO> :当设置为 YES 时,将使用与 wu-ftpd 相同的日志记录格式
vsftpd,ftp 服务端
目录
[隐藏]
1 2 3 4
stand alone 和 super daemon 安装 文件结构 运行
o
4.1 standalone
5 6
7 8
4.2 super daemon /etc/vsftpd.conf 匿名用户 o 6.1 上传文件 o 6.2 重命名、删除文件 仅能上传,无法下载 认证 FTP 配置
sudo service vsftpd start
[编辑]super
daemon
需要修改 vsftpd.conf
listen=NO
这里若不改成 NO,会出现下列错误
500 OOPS: could not bind listening IPv4 socket
安装 xinetd
sudo apt-get install xinetd sudo vi /etc/xinetd.conf service ftp { socket_type wait user server log_on_success = stream = no = root = /usr/sbin/vsftpd += DURATION USERID
o
11.2.2 指定不能访问的主机 11.2.3 主机表
12 限制 o 12.1 限制连接数 o 12.2 限制下载速度 o 12.3 super daemon 限制连接数 13 欢迎信息 14 虚拟路径 15 虚拟用户 16 实例 17 缺陷 18 参考
[编辑]stand
o
9 Chroot o 9.1 限制所有 o 9.2 开放所有,限制特定 9.3 限制所有,开放特定 10 账号登录 o 10.1 /etc/ftpusers 文件 o 10.2 userlist_file 文件 o 10.3 限制一切,开放特定 o 10.4 root 登录 11 主机访问 o 11.1 tcp_wrappers 配置 o 11.2 super daemon 限制主机访问 11.2.1 只允许指定主机访问
Vsftpd
你可以免费:
拷贝、分发、呈现和表演当前作品 制作派生作品
是必须基于以下条款:
署名。你必须明确标明作者的名字。.
非商业用途。 你不可将当前作品用于商业目的。
保持一致。 如果你基于当前作品更改、变换或构造新作品,你应当按 照与当前协议完全相同的协议分发最终作品。
对于任何二次使用或分发,你必须让其他人明确当前作品的授权条 款 在得到作者的明确允许下,这里的某些条款可以放弃
Biblioteka Baiduls
会显示 home 目录的文件
[编辑]文件结构
匿名用户根路径
/srv/ftp
配置文件
/etc/vsftpd.conf
查阅配置文件详细信息
man 5 vsftpd.conf
设定 log 保存位置,默认如下
xferlog_file=/var/log/vsftpd.log
[编辑]运行
[编辑]standalone 最普遍的方式
log_on_failure nice disable }
+= USERID = 10 = no
停止 vsftpd,启动 xinetd
sudo service vsftpd stop sudo service xinetd start
查看端口
qii@ubuntu:~$ sudo netstat -tulnp| grep 21 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 16787/xinetd
系统用户登录 ftp 便进入他们的 home 目录
[编辑]Chroot [编辑]限制所有 限制登录用户访问其他目录,改之前登录显示的路径比如是 /home/qii ,改之后则是 /。
[编辑]匿名用户
先备份
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
打开
sudo vi /etc/vsftpd.conf
允许匿名访问
# Allow anonymous FTP? (Disabled by default) anonymous_enable=YES
[编辑]/etc/vsftpd.conf listen=<YES/NO> :设置为 YES 时 vsftpd 以独立运行方式启动,设置为 NO 时以 xinetd 方式启动(xinetd 是管理守护进程的,将服务集中管理,可以减少大量服务的资源消耗) listen_port=<port> :设置控制连接的监听端口号,默认为 21 listen_address=<ip address> :将在绑定到指定 IP 地址运行,适合多网卡 connect_from_port_20=<YES/NO> :若为 YES,则强迫 FTP-DATA 的数据传送使用 port 20,默认 YES pasv_enable=<YES/NO> :是否使用被动模式的数据连接,如果客户机在防火墙后,请开启为 YES pasv_min_port=<n> pasv_max_port=<m> :设置被动模式后的数据连接端口范围在 n 和 m 之间,建议为 50000-60000 端口 message_file=<filename> :设置使用者进入某个目录时显示的文件内容,默认为 .message dirmessage_enable=<YES/NO> :设置使用者进入某个目录时是否显示由 message_file 指定的文件内容 ftpd_banner=<message> :设置用户连接服务器后的显示信息,就是欢迎信息 banner_file=<filename> :设置用户连接服务器后的显示信息存放在指定的 filename 文件中 connect_timeout=<n> :如果客户机连接服务器超过 N 秒,则强制断线,默认 60 accept_timeout=<n> :当使用者以被动模式进行数据传输时,服务器发出 passive port 指令等待客户机超 过 N 秒,则强制断线,默认 60 accept_connection_timeout=<n> :设置空闲的数据连接在 N 秒后中断,默认 120 data_connection_timeout=<n> : 设置空闲的用户会话在 N 秒后中断,默认 300 max_client=<n> : 在独立启动时限制服务器的连接数,0 表示无限制 max_per_ip=<n> :在独立启动时限制客户机每 IP 的连接数,0 表示无限制(不知道是否跟多线程下载有没 干系) local_enable=<YES/NO> :设置是否支持本地用户帐号访问 guest_enable=<YES/NO> :设置是否支持虚拟用户帐号访问 write_enable=<YES/NO> :是否开放本地用户的写权限
[编辑]重命名、删除文件 开放重命名,删除文件等权限,不开的话没法续传。
anon_other_write_enable=YES
[编辑]仅能上传,无法下载
write_enable=YES anon_mkdir_write_enable=YES anon_upload_enable=YES chown_uploads=YES chown_username=root
安装
sudo apt-get install vsftpd
查看是否打开 21 端口
qii@ubuntu:~$ sudo netstat -tulnp| grep 21 tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 15601/vsftpd
登录
ftp localhost
输入 Ubuntu 的用户名、密码登录
[编辑]上传文件 允许匿名上传
write_enable=YES anon_mkdir_write_enable=YES anon_upload_enable=YES
注意 2 点: 1.匿名用户就是 ftp,想要匿名用户写入,必须文件夹的权限为 ftp 可写。 2.匿名用户的根目录不允许写,所以根目录的权限绝对不能是 ftp 可写和其他用户可写,如果根目录所有 者为 ftp 的话,所有者的权限也不能写。 所以解决方法是建个单独的 public 文件夹用于上传文件,设置其为 ftp 可写或”其他用户可写“ 还可建个 download 文件夹只用于下载,设置其他用户没有写权限便可。
alone 和 super daemon
stand alone 指的是一直运行 vsftpd, 占用资源, 提供 ftp 服务。 super daemon 指的是有需要时由 xinted 启动 vsftpd 服务。如果服务器不是那种长期开 ftp,提供大量的上传下载服务的话,会选择后者。
[编辑]安装
上传的文件所有者被改为 root,匿名用户的 ftp 用户就无法读取,下载了。
[编辑]认证
FTP 配置
设定 vsftp 认证系统用户,并允许他们上传文件,编辑 /etc/vsftpd.conf:
local_enable=YES write_enable=YES
重启 vsftp
sudo service vsftpd restart