众所周知,FTP
服务器用来上传和下载文件,采用FTP协议。
首先我们来安装FTP
1.$ yum install
vsftpd(vsftpd是众多FTP软件中较为安全的一个)。
2.修改配置文件vsftpd.conf,路径为/etc/vsftpd/vsftpd.conf
如果是ubuntu系统的话,路径为 /etc/vsftpd.conf
以下我针对两种身份进行ftp设定
第一种:针对实体账号设定
1.vi /etc/vsftpd/vsftpd.conf
2.修改配置,最后配置信息如下
anonymous_enable=NO //匿名用户登录
local_enable=YES //实体用户登录
write_enable=YES //是否可以上传文件
local_umask=002 //建立目录(755)和文件(644)权限
userlist_enable=YES //自定义阻挡实体用户访问
userlist_deny=YES //与userlist_enable一起用,起阻拦用户登录用
userlist_file=/etc/vsftpd/uesr_list //该文件默认不存在,需手动建立,内容可复制/etc/vsftpd/ftpusers文件,效果类似
//与服务器相关设置
use_localtime=YES //这个尽量选YES,否则系统用格林威治时间
dirmessage_enable=YES //若目录下有.message会显示该内容
xferlog_enable=YES //启动日志记录,记录于/var/log/xferlog
connect_from_port_20=YES //从20端口进行连接,支持主动连接
xfelog_std_format=YES //支持wuftp日志文件格式。
listen=YES //支持stand alone 方式启动
pam_service_name=vsftpd //支持pam模块管理
tcp_wrappers=YES //支持tcp wrappers防火墙机制
banner_file=/etc/vsftpd/welcome.txt //用户登录提示,需手动建立
#添加针对某些实体用户来chroot的相关设置
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
如果按以上配置需创建chroot_list文件:
$ vi /etc/vsftpd/chroot_list //建立不被chroot的用户帐号列表,即使没有帐号存在,该文件也要存在
3.重启
ftp服务器 $ /etc/init.d/vsftpd restart
$ chkconfig vsftpd on //设置开机启动
第二种,针对匿名用户登录
1.创建提供匿名用户下载上传文件的目录
$ mkdir /var/ftp/uploads
$ mkdir /var/ftp/downloads
#如果让用户可以上传下载文件
$ chown ftp /var/ftp/uploads
$ chown ftp /var/ftp/downloads
2.修改vsftpd.conf
$ vi /etc/vsftpd/vsftpd.conf
#与匿名用户相关信息
anonymous_enable=YES
no_anon_password=YES //匿名登录时,是否校验密码
anon_max_rate=1000000 //最大带宽使用为1MB/s
data_connection_timeout=60 //数据流连接timeout为60秒
idle_connection_timeout=600 //匿名用户无操作10分钟后断线
max_clients=50 //最大连接数50
max_per_ip=5 //每个ip最多有5个连接
#让匿名用户可以自己上传下载文件
write_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
#与实体用户相关信息
local_enable=NO
#与服务器相关信息
use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
tcp_wrappers=YES
banner_file=/etc/vsftdp/anon_welcome.txt //需手动建立,提示文件
3.重启服务器
$ /etc/init.d/vsftpd restart
如果以上配置,登录时有报错 500 OOPS:cannot change directory:home/test/
修改SELinux防火墙如下
$ getsebool -a |grep ftp
$ setsebool -P ftp_home_dir=1