FTP设置普通用户单一上传功能

背景:

当前项目在使用FTP的上传功能时,配置的上传公共账号为root用户。处于安全考虑需要调整为普通用户,账号需要满足以下要求:

  1. 可以进行FTP的上传相关功能,删除、下载、查看、重命名功能需要被禁止。
  2. 账号禁止SSH登录。
  3. 账号指定登录初始位置,禁止向上一层切换。

配置过程:

  1. 切换root用户

    sudo su root

    

  2.创建用户ftptest,将其登录终端设置为/usr/sbin/false,防止用户ssh登录

    useradd -m -s /usr/sbin/false ftptest

    

  3.设置用户密码

    passwd ftptest

  4.将/usr/sbin/false加入/etc/shells中,使其可以使用ftptest用户进行ftp登录

    echo "/usr/sbin/false">>/etc/shells

  5.修改/etc/passwd系统配置文件

  

  设置ftptest用户和root相同的群组,配置ftp登录初始化位置(根据实际位置配置)

  

   6.配置/etc/vsftpd.conf(备注:已经配置过FTP服务),禁止用户访问上层目录.自行创建 /etc/vsftpd.chroot_list,不添加任何用户(备注:在vsftpd.chroot_list中得用户可以切换到上 层目录)配置方式如下:

   

  创建vsftpd.chroot_list

   

  7.在/etc/vsftpd.conf中添加FTP命令限制参数。FTP只能上传,不能下载、删除、重命名配置如下,cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

   

  主要FTP命令参数释义:

    MKD - make a remote directory 新建文件夹
    NLST - name list of remote directory
    PWD - print working directory 显示当前工作目录
    RETR - retrieve a remote file 下载文件
    STOR - store a file on the remote host 上传文件 
    DELE - delete a remote file 删除文件
    RMD - remove a remote directory 删除目录
    RNFR - rename from 重命名
    RNTO - rename to 重命名

posted @ 2020-05-24 12:33  补风的杨大爷  阅读(252)  评论(0编辑  收藏  举报