zoukankan      html  css  js  c++  java
  • 【Linux】Vsftp配置ftp服务以及Quota配置磁盘限额

    1.Vsftp配置

    这部分之前已经配置过,但是实验室服务器升了次级,结果配置文件被重置了,导致ftp一直匿名可写状,甚是危险。

    ftp的根目录为/home/ftp,我的思路是:建立一个管理账号,拥有完全的读写权限,当然这个只有我知道;一个普通权限,只能用于下载,不能上传;一个upload帐户,用于上传文件,存放在一个独立的upload文件夹下,因此该帐户的根目录就是这个文件夹,其不能向上级访问,该账户拥有读写权限,但是没有删除文件的权限(主要是防止一个用户把另一个用户的文件删除了)。

    1.1 配置文件设置(/etc/vsftpd.conf)

    1. 关闭匿名访问          anonymous_enable=NO

    2. 允许本地用户访问,即服务器上的帐户     local_enable=YES

    3. 将用户限制在根目录,不能向上访问。

    chroot_local_user=NO    

    chroot_list_file=/etc/vsftpd.chroot_list

    受限的帐户名将会写在指定的文件里。

    4.逐用户权限设置

    user_config_dir=/etc/vsftpd, 然后建立/etc/vsftpd文件夹,文件夹里面以账户名命令,用来标记每个用户的权限。

    5.其他的部分应该都是默认的吧。

    1.2 用户设置

    新增三个用户,如上所述,将他们设置在一个组里面,并且ftp目录权限设置为750。

    1.3 逐用户权限

    为了满足要求,需要对每个用户都进行设置,设置代码如下:

    1. 管理员权限

    write_enable=YES 
    anonymous_enable=NO 
    anon_world_readable_only=NO 
    anon_upload_enable=YES 
    anon_mkdir_write_enable=YES 
    anon_other_write_enable=YES 
    local_umask=022 
    download_enable=Yes 
    local_root=/ftpdata

    2.普通用户

    write_enable=NO 
    anon_world_readable_only=NO 
    anon_upload_enable=NO 
    anon_mkdir_write_enable=NO 
    anon_other_write_enable=NO 
    local_umask=022 
    download_enable=yes 
    local_root=/ftpdata

    3. 上传权限(不能删除)

    write_enable=YES 
    cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT
    file_open_mode=0444 
    local_root=/ftpdata

    1.4 重启服务后就可以正常工作了。

    1.5 编码问题。

    编码问题其实一直都很头疼。windows用GBK,linux用utf8,想了很久最终还是决定使用utf8,这样可以在linux里面管理文件,否则是一篇乱码,至于windows上只能推荐使用支持utf8的ftp软件了,如FileZilla。

    2.使用Quota配置磁盘限额

    Quota的作用其实就充当了一个空间管理器的作用,限制某个帐户或者某个账户组只能使用一定大小的磁盘,从而避免需要另外分割一块磁盘的麻烦。

    Quota配置其实很简单。

    1.先用apt-get 安装。

    2. 修改fstab, 将要修改的磁盘块条目中的defaults改为defaults,usrquota,grpquota

    3. 重新挂在磁盘: umount /dev/sdax (x代表一个序号)  mount -a

    4.cd到需要配置的磁盘块,这里我的home文件夹单独一块700多G的硬盘。

    5.quotacheck –uvg /home检查磁盘,并生成两个配置的文件。

    6. 启动: quotaon –av

    7.设定限额。 edquota –u [accout] , 设置soft和hard两项大小,单位是K,soft大小可以超过,但是有有效期,为了避免麻烦,我把两个设成一样。

    8. 可以看一下结果。 quota –vu [account]

    9. 对于用户组,使用edquota –g [group]来配置。

    3.一些小问题

    3.1 统计文件夹大小

    du -sm 文件夹
    返回该文件夹总M数

    3.2 umask=022的意思

    文件权限可以用9位二进制数表示。umask在英文中是屏蔽的意思,那么umask=022指屏蔽文件的022权限,到底屏蔽了什么?将这个八进制数用二进制表示000010010换算成字母是----w--w-指取消组的写权限、取消其它用户的写权限。

    3.3 文件名编码转换

    确保安装了conmv, convmv -f UTF-8 -t GBK -r yourfile --notest 将UTF8转换为GBK。

    4. 参考资料

    1.鸟哥的私房菜——quota: http://linux.vbird.org/linux_basic/0420quota/0420quota.php

    2.鸟哥的私房菜——vsftp:http://linux.vbird.org/linux_server/0410vsftpd.php

    3.文件名编码转换: http://blog.csdn.net/gavin_dinggengjia/article/details/7538441

  • 相关阅读:
    基于redis的分布式锁实现方案
    nginx 配置文件详解
    Linux 下安装Nginx
    Nginx简介
    Spring Boot 整合 Spring Security 示例实现前后分离权限注解 + JWT 登录认证
    idea2020.1版本下载安装与激活
    Cloud Alibaba --Nacos
    spring Cloud Alibaba 简介
    Eclipse中SVN更改连接用户
    Win7(64bit)搭建SVN
  • 原文地址:https://www.cnblogs.com/xweiwei/p/2743921.html
Copyright © 2011-2022 走看看