将ftp客户端按权限分为三类:mange、network、guest,如何编码可以实现当这三类客户端用户连接到vsftpd服务器,他们可以使用的服务器命令不同,mange权限可以做任何操作,network权限没有put,deletele文件等操作,guest只有ls,cd等查看命令的权限。
vsftpd可以通过配置文件设置不同用户组的权限,具体可以这么做:
- 在/etc/vsftpd/vsftpd.conf文件中设置user_config_dir参数:
user_config_dir=/etc/vsftpd/vusers - 在/etc/vsftpd/vusers目录下为不同用户组创建配置文件,文件名为用户名:
- mange.conf (管理员用户组)
- network.conf (网络用户组)
- guest.conf (访客用户组)
- 在每个配置文件中设置相应的权限:
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
这样就可以通过不同的用户配置文件来限制各用户组的命令权限了。