只允许匿名用户下载的ftp

只允许匿名用户下载的ftp

本次系统

[root@localhost yum.repos.d]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.6.1810 (Core) 
Release:    7.6.1810
Codename:   Core

安装vsftpd服务

yum install -y vsftpd

配置

/etc/vsftpd/vsftpd.conf	#vsftpd 的核心配置文件
anonymous_enable=YES				#更改配置开启匿名用户访问
anon_max_rate=5000000000	#匿名用户的下载速度

关闭防火墙

systemctl stop firewalld.service

重启vsftpd

systemctl restart  vsftpd.service

浏览器打开,默认的存储路径为/var/ftp/

只允许匿名用户下载的ftp_第1张图片

欧克~~

  • 一些参数说明
anonymous_enable=YES	#开启匿名访问
local_enable=NO				#拒绝本地用户访问
write_enable=NO				#拒绝本地用户写入权限,包括修改
anon_upload_enable=YES	#允许匿名用户上传
anon_mkdir_write_enable=YES	#允许匿名用户上传/创建目录
anon_world_readable_only=YES	#允许匿名用户浏览
anon_other_write_enable=YES		#允许匿名用户具有建立目录,上传之外的权限,如重命名,删除
anon_umask=022								#匿名用户上传后的权限是-rw-------
dirmessage_enable=YES		#是否显示目录说明文件, 默认是YES 但需要手工创建.message文件,这个.message,只有用命令登陆或者用工具,才可以看见,他不是一个弹出对话框,而是一段字符,如在pub下建立一个.message,那么在客户端进入pub目录时就会显示.message文档中的内容 35行
#xferlog_enable=YES	#记录使用者所有上传下载信息 
#xferlog_file=/var/log/vsftpd.log	#将上传下载信息记录到
#connect_from_port_20=YES	#确保ftp-datad 数据传送使用port 20
idle_session_timeout=600	#如果使用者600秒没有动作,则强制离线,也就是指令超时时间
listen=YES				#使用standalone启动vsftpd
#xferlog_std_format=YES		#使用standalone启动vsftpd,而不是super daemon(xinetd)控制它 (vsftpd推荐使用standalone方式)
listen_ipv6=NO
pam_service_name=vsftpd		#PAM所使用的名称.同userlist_*一样限制用户登陆,不同的是userlist_*在进行密码验证之前拒绝用户登陆,pam是在密码验证之后拒绝登陆.(提示密码错误) 
userlist_enable=NO		#为yes时, /etc/vsftpd/user__list文件中的用户将不能访问vsftpd服务器 117行 
reverse_lookup_enable=NO	#登录用户的dns反解析
tcp_wrappers=YES
use_localtime=YES
anon_max_rate=5000000000	#匿名用户的下载速度
  • 参考链接:https://blog.csdn.net/piggachen/article/details/69943386
    Ubuntu下的FTP服务
    1. 配置相关服务
    启动服务:
    [root@netseek root]# #rpm –qa | grep vsftpd ;查看是否安装vsftpd服务
    #/etc/init.d/vsftpd start ;启动服务
    #chkconfig vsftpd on ;让系统服务随着系统启动而启动
    配置相关文档:
    #vi /etc/vsftpd/vsftpd.conf
    禁止匿名用户访问:
    anonymous_enable=YES,将YES改为NO
    在文件末尾加如下的设置:
    # new added by netseek
    listen_port=5021 ;命令通道端口,默认为21
    listen_data_port=5020 ;数据通道端口,默认为20
    pasv_enable=YES ;允许被动模式
    pasv_min_port=10000 ;被动模式使用端口范围
    pasv_max_port=10010
    local_max_rate=200000 ;用户宽带限制
    chroot_local_user=YES ;禁用户离开主目录
    listen_address=192.168.0.21 ;让他监听ip:192.168.0.21
    注:在添加过程中请不要加上”;”和这些中文注释,在这里我上为了方便大家了解才加上的。
    2. 添加虚拟主机用户
    添加用户netseek_com,用户目录指定为/var/www/netseek.com,且此用户不能登陆系统.
    #mkdir /var/www/netseek.com
    #useradd –s /sbin/nologin –d /var/www/netseek.com netseek_com 问题就在这里,使用这句话后,就无法登录,如果改为useradd -s /bin/false 那就可以了
    注-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/var/www/netseek.com
    #passwd netseek_com (Do not Hack me 3ks) DnHm3ks 这是我设置的密码
    #chown –R netseek_com:netseek_com /var/www/netseek.com
    注:将用户目录及其子目录的所有和所属的组设置为netseek_com
    3. 配置磁盘配额
    我在安装过程中磁盘了多个区,分别/home,/var,/,/www,tmp,swap,/boot多个分区。建议你将磁盘分多个独单的分区,这样可以降低磁盘分区损坏造成的数据丢失风险.
    #[root@netseek root]# rpm -qa | grep quota
    quota-3.06-9 ; 我的系统已经安装了磁盘配额工具
    #vi /etc/fstab
    找到类似
    LABEL=/var /var ext3 defaults 1 2
    在defaults后加入usrquota,改为如下:
    LABEL=/var /var ext3 defaults,usrquota 1 2
    重新加载/var这个分区:
    #mount –o remount /var
    #cd /var 进入这个目录
    #touch quota.user
    #chmod 600 quota.user
    #quotacheck –mf /var 对磁盘分区空间使用情况进行强制检测
    [root@localhost var]# quotacheck -mf /var
    quotacheck: WARNING - Quotafile /var/quota.user was probably truncated. Can't save quota settings...
    重新启动系统
    第一次运行时都会出现这个警告,再次运行的时候就不会啦
    为指定用户定额:
    #edquota netseek_com 为用户netseek_com设置磁盘配额。
    Disk quotas for user netseek_com (uid 501):
    Filesystem blocks soft hard inodes soft hard
    /dev/sda5 6616 307200 0 15 0 0
    注:
    ilesystem blocks soft hard inodes soft hard
    filesystem-正在设置的文件系统,不要修改或删除
    bolock-当前使用的碰盘空间,单位为KB
    soft(第一个)-软磁盘空间限制,默认0,表示无限制,我在这里设为300M。
    hard(第一个)-硬配额限制,0表示无限制。
    inodes-当前文件数量
    soft(第二个)-对文件数量的软限制,0表示无限制
    hard(第二个)-对文件数量的硬限制,0表示无限制
     
    让系统启动是自动加载:
    #vi /etc/rc.d/rc.local ,加入以下:
    /etc/init.d/vsftpd start
    /sbin/quotacheck
    /sbin/quotaon –avu
    现在查看netseek_com 用户使用磁盘空间的情况
    [root@localhost ~]# quota -u netseek_com
    Disk quotas for user netseek_com (uid 501):
    Filesystem blocks quota limit grace files quota limit grace
    /dev/sda5 6616 307200 0 15 0 0
     
    注:关于更多的quota命令,请用man命令查看吧,乌哥(VBird)说,我们要学会找男人 !
     
    4. 效果演示,登陆演示:
     
    四, VsFTPd相关的配置详解
    1.匿名用户相关设置
    anonymous_enable=YES ,将YES改为NO, 禁止匿名用户登陆
    #non_mkdir_write_enable=YES ,将#注释去掉,允许匿名用户创建目录
    #non_upload_enalbe=YES ,将#去掉,允许匿名用户上传
    anon_world_readable_only=YES ,允许匿名用户下载,默认是禁止的,这个可以自行添加。
    Anon_other_write_enable=YES ,将其设为YES的话,就除了上传和创建目录外,还可以重命名,删除文件,默认是NO
    no_anon_password=NO ,将其设为YES,匿名用户不会查询用户密码直接登陆。
    ftp_username=ftp ,匿名用户登陆系统的账号默认为ftp,此项最好不要改,否则设置不当会给系统的安全带来威胁。
    2.FTP服务端口的指定
    listen_port=8021 ,指定命令通道为8021,默认为21
    listen_data_port=8020 ,指定数据通道为8020,默认为20
    3.上传模式的设置
    pasv_enable=YES ,是否允使用被动模式,默认是允许的。
    pasv_min_port=10000 ,指定使用被动模式时打开端口的最小值
    pasv_max_port=10004 ,指定使用被动模式时打开端口的最大值。
    4.Vsftp服务器指定IP地址
    listen_address=192.168.0.21 ,指定FTP,IP地址
    注:只有当vsftp运行于独立模式时才允许使用指定IP,如果在/etc/xinetd.d目录下已经建立了vsfpd文件,就要将该文件中的disable设置为yes,方可。
    5. 锁定用户,禁止用户离开用户主目录
    chroot_local_user=YES ,将其设为YES,就锁定在用户主目录,设为NO,可以切换
    将指定用户设置为锁定用户主目录:
    #chroot_list_enable=YES
    #chroot_list_file=/etc/vsftpd.chroot_list
    将其改为如下:
    chroot_list_enable=NO
    chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
    将上面保存,再做如下操作:
    #touch /etc/vsftpd/vsftpd.chroot_list
    #vi /etc/vsftpd/vsftpd.chroot_list ,在该文件中加入用户名单,如:
    netseek_com
    6.FTP服务器的流量控制
    max_clients=100 ;允许的最大连接数,定义为100,默认为0,表没有限制
    max_per_ip=5 ;每个IP允许的连接数,0表没有限制,需要运行于独立模式方可
    anon_max_rate=50000 ;匿名用户最大带宽,单位为bps
    local_max_rate=200000 ;系统用户最大带宽
    如何对指定用户进行流量限制呢?
    #vi /etc/vsftpd/vsftpd.conf,添加一行:
    user_config_dir=/etc/vsftpd/userconf
    #touch /etc/vsftpd/userconf/netseek_com 为netseek_com这个用户建立一个netseek_com文件
    #vi /etc/vsftpd/userconf/netseek_com 添加以下内容
    local_max_rate=100000
    保存重启服务即可.
    7.定制欢迎信息
    目录说明设置
    #vi /etc/vsftpd/vsftpd.conf
    #dirmessage_enable=YES,前的#去掉。
    然后我们定制一个.message,写上你想写的东西,然后把这个文件复制到各个用户的家目录中,就OK。
     
    系统欢迎消息设置
    ftpd_banner=Welcome to ftp.netseek.com , Yeah!!!
    系统欢迎消息文件设置
    banner_file=/etc/vsftpd/welcome 与ftpd_banner相类似,不同之处在于,banner_file指定欢迎文件. 
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES


################################
anon_max_rate=5000000000

你可能感兴趣的:(运维,ftp)