公司做网站广告语,深圳做微信网站公司,wordpress页码数量,凌晨三点看的片韩国折腾了一下在云服务器上搭建FTP#xff0c;可以在浏览器输入公网IP查看共享的文件#xff0c;也就是创建下载点。现记录如下。第一种场景#xff1a;匿名访问#xff0c;通过浏览器输入公网地址即可实现下载第二种场景#xff1a;输入指定的用户名和密码#xff0c;可进入… 折腾了一下在云服务器上搭建FTP可以在浏览器输入公网IP查看共享的文件也就是创建下载点。现记录如下。 第一种场景匿名访问通过浏览器输入公网地址即可实现下载 第二种场景输入指定的用户名和密码可进入到另一个目录可实现下载和上传与新建。例如通过FileZilla. 0、环境 华为云ECS ubuntu18.04, vsftpd 3.0.3 一、FTP登陆方式 FTP可以有三种登入方式分别是 *匿名登录不需要用户密码*本地用户使用本地用户和密码登入*虚拟用户也是使用用户和密码登入但是该用户不是linux中创建的用户二、FTP连接方式 控制连接标准端口为21用于发送FTP命令信息。数据连接标准端口为20用于上传、下载数据。主动模式服务端从20端口主动向客户端发起连接。被动模式服务端在指定范围内的某个端口被动等待客户端发起连接。一般都采用被动模式。主动模式存在安全隐患客户机很容易发起DdoS攻击。 三、FTP传输模式 文本模式ASCII模式以文本序列传输数据。二进制模式Binary模式以二进制序列比特流传输数据。ASCII模式一般只用于纯文本文件传输而Binary模式更适合传输程序、图片等文件。尤其是对于可执行文件如果把可执行文件以文本模式传输则下载下来的文件将无法正常使用。 四、FTP安装和启动 安装apt-get install vsftpd启动service vsftpd restart 或者 service vsftpd start查询service vsftpd status停止service vsftpd stop服务器放行规则设定打开20-21 3000-3050我配置的是3000-3050 五、文件结构 vsftpd服务器的文件结构如下: /usr/sbin/vsftpd ##vsftpd主程序
/etc/rc.d/init.d/vsftpd ##用于启动终止脚本
/etc/vsftpd/vsftpd.conf ##vsftpd主配置文件
/etc/pam.d/vsftpd ##PAM认证文件
/etc/vsftpd.ftpusers ##禁止使用vsftpd的用户列表
/etc/vsftpd.chroot_list ##禁止或允许使用vsftpd的用户列表 需要在/etc/ 新建该文件
/srv/ftp ##匿名用户的下载目录
/etc/logrotate.d/vsftpd.log ##vsftpd的日志文件 六、配置文件说明 #一旦监听进入standalone模式与此相对的是inetd(inetd或xinetd)模式
listenYES
# 是否监听ipv6如果监听则需要另外再配置一个文件
listen_ipv6NO
#是否允许匿名访问ftp
anonymous_enableYES
#是否允许本地用户登录指linux存在的用户cat /etc/passwd 可以查看哪些用户标准的七字段默认NO
local_enableYES
# 是否对登录用户开启写权限。属全局性设置。默认NO
write_enableYES
#本地登录用户权限022-umask755即代表文档的所有者属主有读写执行权所属组有读和执行权其他用户有读和执行权
local_umask022
#是否允许匿名用户上传文件。只有在write_enable设置为YES时该配置项才有效。而且匿名用户对相应的目录必须有写权限。默认为NO。
#anon_upload_enableYES
#是否允许匿名用户创建目录。只有在write_enable设置为 YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。
#anon_mkdir_write_enableYES
#设置是否显示目录消息
dirmessage_enableYES
#显示时间
use_localtimeYES
#是否启用上传和下载日志
xferlog_enableYES
#默认值为YES指定FTP数据传输连接使用20端口。若设置为NO则进行数据连接时所使用的端口由ftp_data_port指定。
connect_from_port_20YES#设置匿名上传文档的属主默认为NO。若设置为YES则匿名用户上传的文档的属主将被设置为chown_username配置项所设置的用户名。
#chown_uploadsYES
#设置匿名用户上传的文档的属主名。只有chown_uploadsYES时才有效。建议不要设置为root用户。 但系统默root
#chown_usernamewhoever
#默认的系统日志设置日志文件名及路径。需启用xferlog_enable选项
xferlog_file/var/log/vsftpd.log#日志文件是否使用标准的xferlog日志文件格式与wu-ftpd使用的格式相同 。默认为NO
xferlog_std_formatYES
#设置多长时间不对FTP服务器进行任何操作则断开该FTP连接单位为秒默认为600秒。即设置发呆的逾时时间在这个时间内若没有数据传送或指令的输入则会强行断开连接。
idle_session_timeout600
#设置建立FTP数据连接的超时时间默认为300秒
data_connection_timeout120#
# 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_userftpsecure
#
# 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_enableYES#设置是否启用ASCII模式上传、下载数据。默认为NO。
#ascii_upload_enableYES
#ascii_download_enableYES#连接FTP的欢迎提示
ftpd_bannerWelcome to Jack FTP service.
#
#指定不允许通过邮箱登录的文件可以抵御DoS攻击。
#deny_email_enableYES
#邮箱文件
#banned_email_file/etc/vsftpd.banned_emails# 控制用户是否允许切换到上级目录
chroot_local_userYES
chroot_list_enableYES
chroot_list_file/etc/vsftpd.chroot_list
allow_writeable_chrootYES
#1当chroot_list_enableYESchroot_local_userYES时在/etc/vsftpd/chroot_list文件中列出的用户可以切换到上级目录未在文件中列出的用户不能切换到站点根目录的上级目录。
#2当chroot_list_enableYESchroot_local_userNO时在/etc/vsftpd/chroot_list文件中列出的用户不能切换到站点根目录的上级目录未在文件中列出的用户可以切换到上级目录。
#3当chroot_list_enableNOchroot_local_userYES时所有用户均不能切换到上级目录。
#4当chroot_list_enableNOchroot_local_userNO时所有用户均可以切换到上级目录。
#5当用户不允许切换到上级目录时登录后FTP站点的根目录“/”是该FTP账户的主目录即文件的系统的/srv/ftp目录。#被动模式下的设置设置公网IP和接收请求IP与端口这里指定了服务器端口3000-3050用于发起到客户端连接端口设置为0则表示任意端口
pasv_addressXXX.XXX.XXX.XXX
pasv_min_port3000
pasv_max_port3050
#默认采用被动模式
#pasv_enableNO
#
# 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_enableYES
## This option should be the name of a directory which is empty. Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_namevsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enableNO# Uncomment this to indicate that vsftpd use a utf8 filesystem.
utf8_filesystemYES#################end####################### 其他说明 #定义匿名用户的账户名称默认值为ftp。
ftp_usernameftp
#匿名用户是否允许下载可阅读的文档默认为YES。
anon_world_readable_onlyYES
#设置本地用户登录后所在的目录。默认配置文件中没有设置该项此时用户登录FTP服务器后所在的目录为该用户的主目录对于root用户则为/root目录。
local_root/var/ftp
#设置匿名用户登录后所在的目录。若未指定则默认为/srv/ftp目录。
anon_root/srv/ftp
#设置匿名用户所能使用的最大传输速度单位为b/s。若设置为0则不受速度限制此为默认值。
anon_max_rate0
#设置本地用户所能使用的最大传输速度。默认为0不受限制。
local_max_rate0 #对用户的访问控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件来控制实现。相关配置命令如下
userlist_enableYES
#决定/etc/vsftpd/user_list文件是否启用生效。YES则生效NO不生效。
userlist_denyYES
#决定/etc/vsftpd/user_list文件中的用户是允许访问还是不允许访问。
#若设置为YES则/etc/vsftpd/user_list 文件中的用户将不允许访问FTP服务器若设置为NO则只有vsftpd.user_list文件中的用户才能访问FTP服务器。#设置vsftpd允许的最大连接数默认为0表示不受限制。若设置为150时则同时允许有150个连接超出的将拒绝建立连接。只有在以standalone模式运行时才有效。
max_per_ip0
#设置每个IP地址允许与FTP服务器同时建立连接的数目。默认为0不受限制。通常可对此配置进行设置防止同一个用户建立太多的连接。只有在以standalone模式运行时才有效
max_clients0
#设置在指定的IP地址上侦听用户的FTP请求。若不设置则对服务器所绑定的所有IP地址进行侦听。只有在以standalone模式运行时才有效。 对于只绑定了一个IP地址的服务器不需要配置该项默认情况下配置文件中没有该配置项。若服务器同时绑定了多个IP地址则应通过该配置项指定在哪 个IP地址上提供FTP服务即指定FTP服务器所使用的IP地址。
listen_addressIP地址 七、遇到的问题及解决 外网服务器搭建FTP 出现的问题及解决 1227 Entering Passive Mode 解决方法第一种就是配置为主动模式。 vim etc/vsftpd/vsftpd.conf ##Vsftpd主配置文件 添加pasv_enableNO 注意的是浏览器访问只支持FTP的被动模式也就是说只有在FTP配置成被动模式时才能在远程浏览器里通过url访问 第二种解决方法 指定公网ip 用listen_address. 八、其他 默认情况下匿名用户所有上传下载所使用的用户都是ftp用户的权限若要上传文件则需要ftp用户有写的权限若要下载则需要ftp用户有读的权限也就是说一般情况下ftp用户对文件有读权限就对文件有下载权限了。 九、创建用户和密码 (1) 创建一个名叫ftpu的用户并指定他的根目录为/home/ftpdir useradd -d /home/ftpdir/ -s /bin/bash ftpu (2)设置密码 passwd ftpu (3)查看 cat /etc/passwd 十、xinetd运行模式和 standalone模式 像其它守护程序一样vsftpd提供了standalone和inetdinetd或xinetd两种运行模式。简单解释一下 standalone一次性启动运行期间一直驻留在内存中优点是对接入信号反应快缺点是损耗了一定的系统资源因此经常应用于对实时反应要求较高的 专业FTP服务器。inetd恰恰相反由于只在外部连接发送请求时才调用FTP进程因此不适合应用在同时连接数量较多的系统。此外inetd模式不 占用系统资源。除了反应速度和占用资源两方面的影响外vsftpd还提供了一些额外的高级功能如inetd模式支持per_IP(单一IP)限制而 standalone模式则更有利于PAM验证功能的应用。 1xinetd运行模式 大多数较新的系统采用的是xinetd超级服务守护进程。使用“vi /etc/xinetd.d/vsftpd” 看一下它的内容如下 disable no
socket_type stream
wait no
# 这表示设备是激活的它正在使用标准的TCP Sockets。
# 如果“/etc/vsftpd.conf”中的有选项为“listenYES”,注销它
最后重启xinetd命令如下
$ /etc/rc.d/init.d/xinetd restart
#需要注意的是“/etc/xinetd.d”目录中仅能开启一个FTP服务。 2standalone模式 standalone模式便于实现PAM验证功能。进入这种模式首先要关闭xinetd下的vsftpd设置“disable yes”或者注销掉“/etc/inetd.conf”中相应的行。然后修改“/etc/vsftpd.conf”中的选项为“listenYES”。 如果是standlone模式那么它是作为单独的一个服务启动的不需要系统协作不作为系统服务如果要是成为xinetd模式那么它的服务就要受系统服务的限制比如创建一个新的服务进程但是也有缺点如果xinetd服务本身出了问题那么相关的服务也是会受到影响的。 十一、参考资料 https://www.cnblogs.com/xiaojwang/p/10102668.htmlhttps://www.cnblogs.com/tuteng/articles/2953034.html