之前配制失败……不过现在我已经不是曾经的我了!会没问题的!
配置文件在这里,这里是 ubuntu
1 | /etc/vsftpd.conf |
vsftpd(very secure FTP daemon)
使用被动模式规避防火墙
1 | pasv_enable=Yes |
允许匿名用户登录(但是只能下载)
anonymous_enable=YES
然后我把 filesys utf8打开了
因为打算单独设立一个 ftpu 帐号,所以只chroot它在家目录
1 | chroot_list_enable=YES |
umask
是这个用户创建权限之后减去多少,我选择 003,这样匿名用户就可读了,ftpu 创造的权限是 774。
创建 chroot,添加用户 ftpu,多个用户的话一行一个
创造目录给匿名用户访问下载,默认应该是 /var/ftp/
1 | sudo mkdir -p /var/ftp/pub |
创建用户不能登录,指定家目录
useradd -d /var/ftp/pub/ -g ftp -s /sbin/nologin ftpu
passwd ftpu
哦记得打开端口,开 tcp 协议
结果 ftp 死活没法 login,查看了一下是因为……
它还是会检查这个是否在 shell 里的,所以你选择 nologin 那就连ftp也ban了
在 /etc/shells 最后加上
1 | /sbin/nologin |
结果之前用的是 /sbin/nologin
,加了 /usr/sbin/nologin
,怎么也不行,丢死人了.jpg
草,结果匿名用户不能登录了,加上allow_writeable_chroot=YES
也不行,查了一下是升级之后……嗯,增加安全性了
不行了,不会了,那就直接disable掉匿名登录吧,反正也不安全
怎么本来的 ftpu 也登录不了了?
哦,所以他的意思是,登录的那个根目录不允许有写权限……
然后在下面建一个目录,有写权限,就直接扔到那里去了
意思就是,你的 chroot 目录比如在 /a/b,那么 b 是不可以有写权限的,所以要 chmod a-w b,然后你再建立一个 /a/b/c/,允许 c 有写权限,登录之后就直接都在 c 操作了
但是还是要加上 allow_writeable_chroot=YES 的……不然还是不行
不想猜了,瘫软
centos 配制,comment 掉 listen ipv6
listen=YES 这个改成 YES