一. 说明
linux 系统下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 还有一个是proftp(Profession ftp),12bet,常用的是前一种。
vsftp提供3种远程的登录方式:
- 匿名登录方式:就是不需要用户名,密码。12bet,就能登录到服务器电脑里面。
- 本地用户方式:需要帐户名和密码才能登录。而且,12博体育,这个帐户名和密码,12bet,都是在你linux系统里面,已经有的用户。
- 虚拟用户方式:同样需要用户名和密码才能登录。但是和上面的区别就是,12bet,这个用户名和密码,在你linux系统中是没有的(没有该用户帐号)
二. Vsftp的安装配置
2.1. 安装
yum install vsftpd
2.2. 添加ftp帐号和目录
12博体育,先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。
创建帐户,该命令指定了/home/ftplin为用户ftplin的家目录
useradd -d /home/ftplin -s /sbin/nologin ftplin
修改该帐户密码:
passwd ftplin
修改指定目录的权限
chown -R ftplin.ftplin /home/ftplin https://www.liuwanlin.info/superlin%e7%9a%84%e8%af%bb%e4%b9%a6%e7%ac%94%e8%ae%b0-52/可以直接chmod 777
2.3. 配置vsftp
FTP 安装好之后,在/etc/vsftpd/目录下会有如下文件:
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
- vsftpd.conf: 主配置文件
- ftpusers: 指定哪些用户不能访问FTP服务器
- user_list: 指定的用户是否可以访问ftp服务器由vsftpd.conf文件中的userlist_deny的取值来决定。
vsftpd.conf配置如下:
anonymous_enable=NO https://www.liuwanlin.info/superlin%e7%9a%84%e8%af%bb%e4%b9%a6%e7%ac%94%e8%ae%b0-52/不允许匿名用户登录
local_enable=YES
write_enable=YES
chroot_local_user=YES
2.4. 修改shell配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去。shells文件内容如下:
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
2.6. 启动和关闭
service vsftpd start/stop/restart
2.7. 开机启动
查看开机启动状态:
chkconfig --list vsftpd
开机启动:
chkconfig vsftpd on
执行第一条命令可以查看0-6各个级别的启动情况,执行第二条命令会使2-5设置为on。
2.8. 防火墙设置
iptables一般关闭,限制较多
chkconfig iptables on
如果不关闭,可以开放ftp的默认端口21
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables save
关闭selinux
vim /etc/sysconfig/selinux
https://www.liuwanlin.info/superlin%e7%9a%84%e8%af%bb%e4%b9%a6%e7%ac%94%e8%ae%b0-52/找到SELINUX设置为disabled
SELINUX=disabled