0%

ftp配制 for ubuntu and centos

之前配制失败……不过现在我已经不是曾经的我了!会没问题的!

配置文件在这里,这里是 ubuntu

1
/etc/vsftpd.conf

vsftpd(very secure FTP daemon)

使用被动模式规避防火墙

1
2
3
pasv_enable=Yes
pasv_max_port=64410
pasv_min_port=64400

允许匿名用户登录(但是只能下载)

anonymous_enable=YES

然后我把 filesys utf8打开了

因为打算单独设立一个 ftpu 帐号,所以只chroot它在家目录

1
2
3
4
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot.list

chroot_local_user=NO # 这个就是 no 了

umask 是这个用户创建权限之后减去多少,我选择 003,这样匿名用户就可读了,ftpu 创造的权限是 774。

创建 chroot,添加用户 ftpu,多个用户的话一行一个

创造目录给匿名用户访问下载,默认应该是 /var/ftp/

1
2
3
4
5
6
7
8
9
10
11
sudo mkdir -p /var/ftp/pub    

sudo chown nobody:nogroup /var/ftp/pub #所有人都能访问

#在配制文件之后加上
#
# Point users at the directory we created earlier.
anon_root=/var/ftp/pub/
#
# Stop prompting for a password on the command line.
no_anon_password=YES

创建用户不能登录,指定家目录

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