本文主要使用Linux发行版是CentOS,其他发行版大同小异
检查系统中是否安装ftp
rpm -qa | grep vsftpd
如果没有任何内容,表示没有安装过,开始安装
yum -y install vsftpd
创建登录用户
创建登录名为ftp_test的用户
useradd -s /sbin/nologin -d /home/ftp_test ftp_test
-s : 用户可用的shell类型
-d : 用户所属的home目录
注意:
- 目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建
- 注意目录的权限,如果有需要,应该设置相应的权限
- 目录、子目录、文件的权限最低应该为 755
给登录名为ftp_test的用户设置密码
passwd ftp_test
修改vsftpd.conf配置文件
vsftpd.conf文件位于/etc/vsftpd目录下
- anonymous_enable=NO #表示不允许匿名用户登录,默认为YES
- local_enable=YES #允许本地用户登录
- wirte_enable=YES #允许本地用户写入
- check_shell=NO #如果不配置,就会出现只有root用户可以登陆,普通用户不能登录
- local_umark=000 #掩码,决定了上传上来的文件的权限。设置为000使之有最大权限
- xferlog_enable=YES #允许记录日志
- connect_from_port=20 #允许数据流从20端口传输
- xferlog_file=/var/log/vsftpd.log #日志路径
- ftpd_banner=hello #登录提示语
- chroot_local_user=YES #保证用户锁定在指定的家目录里,防止系统文件被修改
- allow_writeable_chroot=YES #这个不配置有可能出现只能下载不能上传
- userlist_deny=NO #说明我们要指定一个userlist,里边放的是允许ftp登陆的本地用户。如果设置为YES,则文件里设置的是不允许登陆的本地用户
- userlist_enable=YES
- userlist_file=/etc/vsftpd/allowed_users #记录允许本地登陆用户名的文件
启动ftp
systemctl start vsftpd
