从零开始搭建系统1.7——FTP安装及配置
1.安装vsftp软件包
[root@localhost usr]# yum install -y vsftpd
2.先备份vsftpd的默认配置文件
[root@localhost usr]# cd /etc/vsftpd
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh
3.添加FTP账户
useradd -d /opt/ftp-files -s /sbin/nologin userftp
-d 后面跟的是我们要给予userftp的家目录,用来存放FTP文件
4.设置vsftpd用户密码
[root@localhost vsftpd]# passwd userftp
Changing password for user userftp.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost vsftpd]#
此时 /etc/vsftpd/vsftpd.conf 里设置如下
anonymous_enable=NO #不允许匿名用户登陆
userlist_enable=YES #允许由userlist_file指定文件中的用户登录FTP服务器
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
在 /etc/vsftpd/ 下的user_list、ftpusers 里加上 userftp 的名字
vim /etc/pam.d/vsftpd 注释掉下面这句
5.重启vsftpd
[root@localhost vsftpd]# service vsftpd restart
userftp用户登录后,访问的是 /opt/ftp-files路径
6.开启FTP端口
添加
C:\Users\Administrator>ftp 192.168.0.200
连接到 192.168.0.200。
220 (vsFTPd 3.0.2)
用户(192.168.0.200:(none)): userftp
331 Please specify the password.
密码:
530 Login incorrect.
登录失败。
需要检查配置是否正常,如果配置正确则可以正常登陆
创建文件时有如下提示
ftpuser登录ftp后上传文件或新建目录,如果出现“550 create directory operation failed”
是SELinux(Security-Enhanced Linux----是美国国家安全局对于强制访问控制的实现, 是Linux 上最杰出的新安全子系统.)安装机制搞的鬼.只要disable SELinux就可以了.
#About host settings
connect_from_port_20=YES
#记得在前一小节提到的主动式连线使用的FTP伺服器的埠号吗?这就是ftp-data的埠号;
listen_port=21
#vsftpd使用的命令通道之埠号,如果您想要使用非正规的埠号,在这个设定项目修改吧!不过你必须要知道,这个设定值仅适合以stand alone的方式来启动喔! (对于super daemon无效)
dirmessage_enable=YES
#当使用者进入某个目录时,会显示该目录需要注意的内容,显示的档案预设是.message ,你可以使用底下的设定项目来修订!
message_file=.message
#当dirmessage_enable=YES时,可以设定这个项目来让vsftpd寻找该档案来显示讯息!
listen=YES
#若设定为YES表示vsftpd是以standalone的方式来启动的!
pasv_enable=YES
#启动被动式连线模式(passive mode),一定要设定为YES的啦!
use_localtime=YES
#是否使用本地时间? vsftpd预设使用GMT时间(格林威治),所以会比台湾晚8小时,建议设定为YES吧!
write_enable=YES
#如果你允许使用者上传资料时,就要启动这个设定值;
connect_timeout=60
#单位是秒,在资料连接的主动式连线模式下,我们发出的连接讯号在60秒内得不到用户端的回应,则不等待并强制断线咯。
accept_timeout=60
#当使用者以被动式PASV来进行资料传输时,如果主机启用passive port并等待client超过60秒而无回应,那么就给他强制断线!这个设定值与connect_timeout类似,不过一个是管理主动连线,一个管理被动连线。
data_connection_timeout=300
#如果伺服器与用户端的资料连线已经成功建立(不论主动还是被动连线),但是可能由于线路问题导致300秒内还是无法顺利的完成资料的传送,那用户端的连线就会被我们的vsftpd强制剔除!
idle_session_timeout=300
#如果使用者在300秒内都没有命令动作,强制离线!
max_clients=50
#如果vsftpd是以stand alone方式启动的,那么这个设定项目可以设定同一时间,最多有多少client可以同时连上vsftpd哩! ?
max_per_ip=5
#与上面max_clients类似,这里是同一个IP同一时间可允许多少连线?
pasv_min_port=0, pasv_max_port=0
#上面两个是与passive mode使用的port number有关,如果您想要使用65400到65410这11个port来进行被动式连线模式的连接,可以这样设定pasv_max_port=65410以及pasv_min_port=65400。如果是0的话,表示随机取用而不限制。
#ftpd_banner=一些文字說明
#当使用者连线进入到vsftpd时,在FTP用户端软体上头会显示的说明文字。不过,这个设定值资料比较少啦!建议你可以使用底下的设定值来取代这个项目;
banner_file=/etc/vsftpd/welcome.txt
#这个项目可以指定某个纯文字档作为使用者登入vsftpd伺服器时所显示的欢迎字眼。
#
#
#
#Entity user settings
#
guest_enable=NO
#若这个值设定为YES时,那么任何非anonymous登入的帐号,均会被假设成为guest (访客)喔!至于访客在vsftpd当中,预设会取得ftp这个使用者的相关权限。但可以透过guest_username来修改。
guest_username=ftp
#在guest_enable=YES时才会生效,指定访客的身份而已。
local_enable=YES
#这个设定值必须要为YES时,在/etc/passwd内的帐号才能以实体用户的方式登入我们的vsftpd主机喔!
write_enable=YES
#是否允许实体用户写入
local_max_rate=60000
#实体用户的传输速度限制,单位为bytes/second, 0为不限制。
chroot_local_user=YES
#将使用者限制在自己的家目录之内(chroot)!这个设定在vsftpd当中预设是NO,因为有底下两个设定项目的辅助喔!所以不需要启动他
#但如果启动了他,则表示实体用户默认就已经被chroot,写在/etc/vsftpd/chroot_list里的用户反而是没有被chroot的.
chroot_list_enable=YES
#是否启用将某些实体用户限制在他们的家目录内?预设是NO ,不过,如果您想要让某些使用者无法离开他们的家目录时,可以考虑将这个设定为YES ,并且规划下个设定值
chroot_list_file=/etc/vsftpd/chroot_list
#如果chroot_list_enable=YES那么就可以设定这个项目了!他里面可以规定那一个实体用户会被限制在自己的家目录内而无法离开! (chroot)一行一个帐号即可!
userlist_enable=YES
#是否借助vsftpd的抵挡机制来处理某些不受欢迎的帐号,与底下的设定有关;
userlist_deny=YES
#当userlist_enable=YES时才会生效的设定,若此设定值为YES时,则当使用者帐号被列入到某个档案时,在该档案内的使用者将无法登入vsftpd伺服器!该档案档名与下列设定项目有关。
userlist_file=/etc/vsftpd/user_list
#若上面userlist_deny=YES时,则这个档案就有用处了!在这个档案内的帐号都无法使用vsftpd喔!
#
#
#
#Anonymous settings
#
anonymous_enable=YES
#设定为允许anonymous登入我们的vsftpd主机!预设是YES ,底下的所有相关设定都需要将这个设定为anonymous_enable=YES之后才会生效!
anon_root=/var/ftp
anon_world_readable_only=YES
#仅允许anonymous具有下载可读档案的权限,预设是YES。
anon_other_write_enable=YES
#是否允许anonymous具有写入的权限?预设是NO!如果要设定为YES,那么开放给anonymous写入的目录亦需要调整权限,让vsftpd的PID拥有者可以写入才行!
anon_mkdir_write_enable=YES
#是否让anonymous具有建立目录的权限?预设值是NO!如果要设定为YES,那么anony_other_write_enable必须设定为YES !
#是否让anonymous具有上传资料的功能,预设是NO,如果要设定为YES ,则anon_other_write_enable=YES必须设定。
deny_email_enable=YES
#将某些特殊的email address抵挡住,不让那些anonymous登入!如果以anonymous登入主机时,不是会要求输入密码吗?密码不是要您输入您的email address吗?如果你很讨厌某些email address ,就可以使用这个设定来将他取消登入的权限!需与下个设定项目配合:
#banned_email_file=/etc/vsftpd/banned_emails
#如果deny_email_enable=YES时,可以利用这个设定项目来规定哪个email address不可登入我们的vsftpd喔!在上面设定的档案内,一行输入一个email address即可!
no_anon_password=YES
#当设定为YES时,表示anonymous将会略过密码检验步骤,而直接进入vsftpd伺服器内喔!所以一般预设都是NO的!
anon_max_rate=40000
#这个设定值后面接的数值单位为bytes/秒,限制anonymous的传输速度,如果是0则不限制(由最大频宽所限制),如果您想让anonymous仅有30 KB/s的速度,可以设定『anon_max_rate=30000』
anon_umask=077
#限制anonymous的权限!如果是077则anonymous传送过来的档案权限会是-rw-------喔!
#
#
#
# About system settings
ascii_download_enable=YES
#如果设定为YES ,那么client就可以使用ASCII格式下载档案。
ascii_upload_enable=YES
#与上一个设定类似的,只是这个设定针对上传而言!预设是NO
one_process_model=NO
#这个设定项目比较危险一点~当设定为YES时,表示每个建立的连线都会拥有一支process在负责,可以增加vsftpd的效能。不过,除非您的系统比较安全,而且硬体配备比较高,否则容易耗尽系统资源喔!一般建议设定为NO的啦!
tcp_wrappers=YES
#当然我们都习惯支援TCP Wrappers的啦!所以设定为YES吧!
xferlog_enable=YES
#当设定为YES时,使用者上传与下载档案都会被纪录起来。记录的档案与下一个设定项目有关:
xferlog_file=/var/log/vsftpd.log
#如果上一个xferlog_enable=YES的话,这里就可以设定了!这个是登录档的档名啦!
xferlog_std_format=NO
#是否设定为wu ftp相同的登录档格式? !预设为NO ,因为登录档会比较容易读!不过,如果您有使用wu ftp登录档的分析软体,这里才需要设定为YES
nopriv_user=nobody
#我们的vsftpd预设以nobody作为此一服务执行者的权限。因为nobody的权限相当的低,因此即使被入侵,入侵者仅能取得nobody的权限喔!
pam_service_name=vsftpd
#这个是pam模组的名称,我们放置在/etc/pam.d/vsftpd即是这个咚咚!
从零开始搭建系统1.7——FTP安装及配置的更多相关文章
- 从零开始搭建系统2.8——HDFS安装及配置
从零开始搭建系统2.8——HDFS安装及配置
- 从零开始搭建系统2.4——Jenkins安装及配置
1.安装wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.reporpm --impo ...
- 从零开始搭建系统1.3——Tomcat安装及配置
首先安装jdk,手动解压JDK的压缩包,然后设置环境变量 1.卸载自带openjdk 查询OpenJDK rpm -qa|grep java 批量卸载所有名字包含jdk的已安装程序.命令行: rpm ...
- 从零开始搭建系统1.2——Nginx安装及配置
一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.openssl-devel.pcre-devel和zlib ...
- 从零开始搭建系统2.5——Apollo安装及配置
参见https://github.com/ctripcorp/apollo/wiki/Quick-Start安装即可
- 从零开始搭建系统2.2——ELK安装及配置
ELK 最新版本对JDK的最低要求是1.8,安装java_1.8版本 一.Elasticsearch 1.创建目录 2.下载安装包 wget https://artifacts.elastic.co/ ...
- 从零开始搭建系统2.1——Nexus安装及配置
在安装配置Nexus时,请先确定您已经配置好jdk 1.创建目录 2.下载安装包 [root@localhost usr]# cd nexus 下载地址:https://www.sonatype.co ...
- 从零开始搭建系统1.4——MySql安装及配置
安装环境:CentOS7 64位 ,安装MySQL5.7 1.创建mysql目录 2.在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo ...
- 从零开始搭建系统1.5——Redis安装及配置
1.在/usr/目录下创建redis目录 [root@localhost usr]# mkdir redis 2.下载安装包 wget http://download.redis.io/release ...
随机推荐
- Pyhon 格式化输出的几种方式
废话不多说,直接上代码 第一种格式化的输出方式,拼接我就不上了,不建议使用,数据多的时候自己都蒙圈 # -*- coding:utf-8 -*- # Author:覃振鸿 #格式化输出 name=in ...
- 逻辑回归原理,推导,sklearn应用
目录 逻辑回归原理,推导,及sklearn中的使用 1 从线性回归过渡到逻辑回归 2 逻辑回归的损失函数 2.1 逻辑回归损失函数的推导 2.2 梯度下降法 2.3 正则化 3 用逻辑回归进行多分类 ...
- 【记录】Nginx错误could not build the server_names_hash you should increase server_names_hash_bucket_size: 32
今天遇到这个错误,现记录下解决方案: 在nginx的配置文件的http段中增加如下配置: server_names_hash_bucket_size 64; 下面是nginx官方文档解释: 如果定义了 ...
- secureCRT 如何上传下载文件
首先连接相应服务器,然后在文件选项当中,打开SFTP功能,这个时候会生成一个新的标签栏. 下载: cd 到要下载文件的路径下 lcd 要存放文件的本地路径 get {filename} 例: cd ...
- MySQL练习题--sqlzoo刷题2
SELECT from Nobel Tutorial 1.Change the query shown so that it displays Nobel prizes for 1950. SELEC ...
- Codeforces 1169E DP
题意:给你一个长度为n的序列,有q次询问,每次询问给出两个位置x和y(x < y),问是否可从x到达y?可达的定义是:如果存在一个序列(假设长度为k),其中p1 = x, pk = y,并且这个 ...
- github fork代码后提交
点击他人github上的fork 在自己的Github上将代码拷贝下来 git clone 在本地修改代码后创建分支 git checkout -b work master(work为新建的特性分支, ...
- Web安全之环境搭建
一. 工具集:Linux: Kali最新版(A/P:root/toor).Windows7/10. 靶机:OWASP_BWA(A/P:root/owaspbwa).DVWA.Mutillidae.We ...
- React笔记03——React实现TodoList
1 什么是JSX语法? 原生JS中,要向页面中挂载html标签,标签一定是被引号''包起来的:document.getElementById('root').append('<div>he ...
- 每天一个Linux命令:mkdir(4)
mkdir mkdir命令 用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录 格式 mkdir [选项] [目录..] 参数选项 参数 备 ...