配置一个ftp服务器,用vsftp,实现了以下几个功能:
1.不允许匿名用户
2.用户可以上传文件,但不能下载文件
3.该用户只能ftp,不能登录系统
4.用户不能删除已上传的文件
5.上传的同名文件不会被覆盖
6.限制该用户在自己的home目录里
具体实现方法如下:
1.不允许匿名用户
anonymous_enable=NO
2.用户可以上传文件,但不能删除文件
download_enable=NO
3.该用户只能ftp,但不能登录系统
useradd -s /sbin/nologin username
4.用户不能删除已上传的文件
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
注意这里去掉了DELE,如果不允许用户列出文件的话,则可以再掉LIST
5.上传的同名文件不会被覆盖
file_open_mode=0444
6.限制该用户在自己的home目录里
在vsftpd.conf中
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
然后在/etc/vsftpd.chroot_list中加入username
以上是用系统用户实现的,如果用虚拟用户实现也很简单