需求1: 我记得在VSFTPD中,当你使用了ftp用户登陆默认的就是/var/ftp,因为ftp用户是vsftpd中的匿名用户,默认站点就是这个,而且已经禁锢在了这个目录中,也就是说即使你在vsftpd中使用了cd /这个命令,依然还是在/var/ftp目录中。
需求2和3可以通过以下方式完成。
随便在什么位置建立一个目录,比如你建立了/ftpuser这个目录。
在vsftpd的主配置文件中添加下面的配置语句 user_config_dir=/ftpuser (=后面就是步骤1中的目录名)
在这个目录中建立两个和本地用户同名的文件,比如user1和user2 (用vi建立最好)
分别编辑这两个文件,里面主要是设置权限,配置项有以下几种
4.1 local_root= (用来配置访问站点,比如local_root=/home/ftp/user1)
4.2 writable_enable=yes (或者no,用来配置是否有上传,删除权限)
4.3 download_enable=yes (或者no,用来配置是否有下载权限)
保存退出,重启服务就可以了。
不过,遗憾的是,上面的配置无法满足你说的user2用户登陆后,可以上传,不能删除这个要求。上面的配置项只能实现本地用户要么能上传就能删除,要么都不能。
当然,如果你要做虚拟用户的话,那么这些要求都是可以实现的。虚拟用户权限如下
1. local_root=
2. anon_world_readable_only=NO 可以浏览目录并下载
3. anon_mkdir_write_enable=YES 可以建立目录
4. anon_upload_enable=YES 可以上传
5. anon_other_write_enable=YES 可以删除,重命名
敬候高人解答。
通过FTP用户直接登陆,显示的是FTP家目录。VSFTP默认家目录在/var/ftp
然后,对USER1和USER2的权限设置有问题。
你需要在FTP家目录下面创建USER1 和USER2这两个目录。
然后,在FTP配置文件里面,对账号user1,账号user2,进行权限设置。
下载:
与本地终端当前用户相同,如你以root用户使用系统,然后用user用户登录ftp服务器,则你下载下来的文件属于root用户与root组,其中root组为root用户的主要组(***);属主与是哪个用户登录服务器没有关系。且读写权限为644。在下载时匿名用户是和这一样的.
上传:
以本地用户user登录服务器,则上传的文件的用户就是user,而组也和user的主要组相同,权限为也为644;
ftp (匿名用户)用户上传的文件的用户与组与ftp相同,但是权限为600
目测要用chattr