安装:

yum install -y vsftpd

相关配置文件:

/etc/vsftpd/vsftpd.conf //主配置文件,核心配置文件

/etc/vsftpd/ftpusers //黑名单,这个里面的用户不允许访问FTP服务器

/etc/vsftpd/user_list //白名单,允许访问FTP服务器的用户列表

启动服务

systemctl enable vsftpd.service //设置开机自启动

systemctl start vsftpd.service //启动ftp服务

netstat -antup | grep ftp //查看ftp服务端口

匿名ftp的基本配置

使用匿名FTP,用户无需输入用户名密码即可登录FTP服务器,vsftpd安装后默认开启了匿名ftp的功能,用户无需额外配置即可使用匿名登录ftp服务器。

匿名ftp的配置在/etc/vsftpd/vsftpd.conf中设置。

anonymous_enable=YES //默认即为YES

这个时候任何用户都可以通过匿名方式登录ftp服务器,查看并下载匿名账户主目录下的各级目录和文件,但是不能上传文件或者创建目录。

匿名ftp的其他设置

出于安全方面的考虑,vsftpd在默认情况下不允许用户通过匿名FTP上传文件,创建目录等更改操作,但是可以修改vsftpd.conf配置文件的选项,可以赋予匿名ftp更多的权限。

允许匿名ftp上传文件。

修改/etc/vsftpd/vsftpd.conf

write_enable=YES

anon_upload_enable=YES

2、更改/var/ftp/pub目录的权限,为ftp用户添加写权限,并重新加载配置文件

chmod o+w /var/ftp/pub/                     #更改/var/ftp/pub目录的权限
systemctl restart vsftpd.service #重启ftp服务

配置本地用户登录

本地用户登录就是指使用Linux操作系统中的用户账号和密码登录ftp服务器,vsftp安装后默只支持匿名ftp登录,用户如果试图使用Linux操作系统中的账号登录服务器,将会被vsftpd拒绝

1.创建ftptest用

useradd ftptest                    #创建ftptest用户
passwd ftptest #修改ftptest用户密码

2.修改/etc/vsftpd/vsftpd.conf

anonymous enable=NO
local_enable=YES

另外简单介绍下vsftpd.conf的配置文件参数说明。

用户登陆控制

参数 说明
anonymous_enable=YES 接受匿名用户
no_anon_password=YES 匿名用户login时不询问口令
anon_root=(none) 匿名用户主目录
local_enable=YES 接受本地用户
local_root=(none) 本地用户主目录

用户权限控制

参数 说明
write_enable=YES 可以上传(全局控制)
local_umask=022 本地用户上传文件的umask
file_open_mode=0666 上传文件的权限配合umask使用
anon_upload_enable=NO 匿名用户可以上传
anon_mkdir_write_enable=NO 匿名用户可以建目录
anon_other_write_enable=NO 匿名用户修改删除
chown_username=lightwiter 匿名上传文件所属用户名

配置vsftpd环境
执行下边的命令,一行一行来。

#sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'  

#sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'  

#sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  

#sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'  

#sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  

#sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  

#sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  

#sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'  

#echo -e "use_localtime=YES\nlisten_port=21\nchroot_local_user=YES\nidle_session_timeout=300  

#\ndata_connection_timeout=1\nguest_enable=YES\nguest_username=Fuser  

#\nuser_config_dir=/etc/vsftpd/vconf\nvirtual_use_local_privs=YES  

#\allow_writeable_chroot=YES  

#\npasv_min_port=40000\npasv_max_port=41000  

#\naccept_timeout=5\nconnect_timeout=1" >> /etc/vsftpd/vsftpd.conf  

创建ftp用户
创建用户Fuser,一些写教程登录终端是/bin/false,我卡这半天,具体可以搜它和nologin的区别

#useradd Fuser -d /wwwroot -s /sbin/nologin
#chown Fuser.Fuser /wwwroot -R
#passwd Fuser

重启vsftp服务

systemctl restart vsftpd.service

注意,这里是centos的关于vsftp重启,以前的命令在这不管用!如果开了防火墙,记得把相应的端口添加进去,本场环境中涉及21,40000-41000

可能会用到的:
彻底删除用户:#userdel -rf Fuser //强制删除用户及相关目录文件
变更用户属性:#usermod -s /sbin/nologin Fuser
查看当前服务:#netstat -lntp

我的可运行配置(/etc/vsftpd/vsftpd.conf):

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022 #anon_upload_enable=YES
#anon_mkdir_write_enable=YES dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES #chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES #idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES #ftpd_banner=Welcome to blah FTP service
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#ls_recurse_enable=YES?listen=YES
#listen_ipv6=YES pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES local_root=/usr/share/nginx/html
chroot_local_user=YES
allow_writeable_chroot=YES

可能性二:

匿名用户的目录(/var/ftp/pub)没有写权限,需要将其设置为具有写权限。

首先转到/var/ftp

然后在终端中输入:chmod 777 pub。

FTP在CentOS上安装与使用的更多相关文章

  1. NoSql1 在Linux(CentOS)上安装memcached及使用

    前言:       今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...

  2. 在CentOS上安装Java环境

    如何使用yum方式在CentOS上安装Java环境,系统以CentOS6.4为例. 工具/原料 Java JDK yum库 CentOS6.4 方法/步骤 1 查看CentOS自带JDK是否已安装. ...

  3. 在 CentOS 上安装 vsftp 服务

    在 CentOS 上安装 vsftp 服务 1.查看当前 CentOS 服务器是否已安装了 vsftpd 服务: rpm -q vsftpd 如果打印如下类似的信息则表明已安装 vsftpd 服务: ...

  4. 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置

    简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...

  5. 在CentOS上安装rabbitmq-server

    ***在 CentOS 6.4上安装python*** 注意啊,自己手动安装python2.7.5,不要动系统上面其他的版本 1,先安装GCC,用如下命令yum install gcc gcc-c++ ...

  6. CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH

    CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH 因为是centos linux,默认可以采用yum方 ...

  7. 如何在centos上安装epel源

    一.EPEL是什么? EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/Cent ...

  8. 在Centos上安装RabbitMQ流程(转)

    在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitM ...

  9. 在CentOS上安装ZooKeeper集群

    一共准备3个CentOS虚拟机 172.16.9.194 172.16.9.195 172.16.9.196 上传zookeeper-3.3.6.tar.gz到服务器并解压,3台服务器的目录结构如下 ...

随机推荐

  1. JQuery攻略(二) Jquery手册

    在上一篇 JQuery攻略(一) 基础知识——选择器 与 DOM 中,我写了js的使用,如何选择元素,和一些比较常用的函数及DOM操作. 在这篇中,我将建立多个列表,将更多的 自定义选择器,函数,DO ...

  2. SQLite中的事务操作

    关于SQLite事务可以解决一些问题,比如你要插入两个数据,可以将两个数据作为同一个事务进行插入,这样如果第二个数据错误了,便自动执行回滚操作,第一个数据也不会插入成功,保证了数据的同步! 一.实际的 ...

  3. 机器学习的MLE和MAP:最大似然估计和最大后验估计

    https://zhuanlan.zhihu.com/p/32480810 TLDR (or the take away) 频率学派 - Frequentist - Maximum Likelihoo ...

  4. 用make编译openCV报错:ts_gtest.cpp:(.text._ZN7testing8internal2RED2Ev+0xf): undefined reference to 'regfreeA'

    解决方案: the cause is the google tests is looking for the generic regex.h but cmake used the regex.h fr ...

  5. Linux命令之du

    Linux du命令用来查看文件或目录所占用磁盘空间的大小(Summarize disk usage of each FILE, recursively for directories.) 语法: d ...

  6. 里诺全系列注册机+暗桩patch

    一直有坛友私信更新里诺,今天花了一天时间,将里诺全系列更新完毕,权当送给坛友们的新年礼物吧! 全系列开放至元旦假期结束,后面就随机开放了. <ignore_js_op> 使用说明: 1.选 ...

  7. Kafka学习入门

    最近工作中用到了两个很给力的项目,一个是Kafka,一个是Strom.本着自我学习并方便他人的目的,我会将我觉得比较有用的英文文档翻译在此(保留系统专有名词不作翻译). 1kafka介绍 在流式计算中 ...

  8. 用于HTML5移动开发的10大移动APP开发框架【转】

    今天给大家介绍10款有关HTML5移动开发APP开发框架,这几款框架都是比较优秀的移动 Web 开发框架,能够帮助开发者更加高效的开发移动Web应用.. 十款移动APP开发框架: 1.jquery m ...

  9. File targeting 'AMD64' is not compatible with the project's target platform 'x86' 解决方法

     我在使用vs2010制作64位安装包时出现了以下问题: File targeting 'AMD64' is not compatible with the project's target plat ...

  10. 在XP系统中,如何让添加新管理员帐户和原来的管理员帐户同时存在

    一.有新账户后administrator账户会自动隐藏的,如果你要用administrator账户登录的话,就机器启动到选账户那里用ctrl+alt+del软启动,然后就可以输入账户名administ ...