在vsftpd中如何限制命令

将ftp客户端按权限分为三类:mange、network、guest,如何编码可以实现当这三类客户端用户连接到vsftpd服务器,他们可以使用的服务器命令不同,mange权限可以做任何操作,network权限没有put,deletele文件等操作,guest只有ls,cd等查看命令的权限。

vsftpd可以通过配置文件设置不同用户组的权限,具体可以这么做:

  1. 在/etc/vsftpd/vsftpd.conf文件中设置user_config_dir参数:
    user_config_dir=/etc/vsftpd/vusers
  2. 在/etc/vsftpd/vusers目录下为不同用户组创建配置文件,文件名为用户名:
  • mange.conf (管理员用户组)
  • network.conf (网络用户组)
  • guest.conf (访客用户组)
  1. 在每个配置文件中设置相应的权限:
    mange.conf:

    管理员用户组可以做任何操作

    write_enable=YES
    network.conf:

    网络用户组不能上传和删除文件

    cmds_allowed=ABOR,ACCT,ALLO,APPE,CDUP,CWD,DELE,MDTM,MKD,MODE,NLST,NOOP,PASS,PASV,PORT,PWD,RETR,RMD,RNFR,RNTO,SIZE,STOR,STRU,SYST,TYPE,USER,XCUP,XCWD,XPWD
    hide_file=/etc/vsftpd.conf
    guest.conf:

    访客用户组只能列目录和切换目录

    cmds_allowed=CDUP,CWD,LIST,NLST,PWD,XPWD
    hide_file=/etc/vsftpd.conf
    这样就可以通过不同的用户配置文件来限制各用户组的命令权限了。