ftp日常笔记

2015-11-17

安装:

apt-get install vsftpd

14.04默认安装的是 vsftpd: version 3.0.2

启动:

vsftpd &
#或者
service vsftpd start

编辑配置文件:vim /etc/vsftpd.conf

#禁用匿名用户登陆
anonymous_enable=NO

#允许本地用户登陆
local_enable=YES

#允许本地用户写入
write_enable=YES

#注意:这个地方如果不配置,就会出现只有root用户可以登陆,普通用户不可以
check_shell=NO

#掩码,决定了上传上来的文件的权限。设置为000使之有最大权限
local_umask=000

#允许记录日志
xferlog_enable=YES

#允许数据流从20端口传输
connect_from_port_20=YES
#pasv_enable=YES
#listen_port=3306
#pasv_max_port=80
#pasv_min_port=80
#ftp_data_port=80
#pasv_promiscuous=YES

#日志路径
xferlog_file=/var/log/vsftpd.log

#ftp欢迎语,可以随便设置
ftpd_banner=hi,guys!

#注意:这个选项可以保证用户锁定在指定的家目录里,防止系统文件被修改。
chroot_local_user=YES

#设定安全目录,当vsftpd守护进程不需要访问文件系统时(即无登录用户时),这个目录将被作为一个安全的容器,vsftpd不能对它有读写权限,默认:/var/run/vsftpd/empty
#secure_chroot_dir=/app/FILE

#注意:这个不配置有可能出现只能下载不能上传
allow_writeable_chroot=YES

#配置了可以以stand alone模式运行
listen=YES

#注意:该选项不配置可能导致莫名其妙的530问题
seccomp_sandbox=NO

#说明我们要指定一个userlist,里边放的是允许ftp登陆的本地用户。如果设置为YES,则文件里设置的是不允许登陆的本地用户
userlist_deny=NO
userlist_enable=YES

#记录允许本地登陆用户名的文件
userlist_file=/etc/vsftpd.user_list

新建安全目录:

mkdir -p /var/run/vsftpd/empty

将nologin参数写入/etc/shells (这样的话nologin用户就能登录ftp了):

echo "/usr/sbin/nologin" >> /etc/shells

新建本地用户:

useradd -d /var/ftp -s /usr/sbin/nologin username

设置用户密码:

passwd username

添加用户到vsftpd.user_list里:

echo "username" >> /etc/vsftpd.user_list

最后记得建立目录:

mkdir /var/ftp
chmod 777 /var/ftp

Linux客户端登录

用户登录:

ftp 127.0.0.1

下载文件:

mget filename