vsftp安装和配置
1. 解压软件
[root@redhat local]# tar -zxvf vsftpd-2.3.2.tar.gz //解压vsftp source文件
[root@redhat local]# cd vsftpd-2.3.2 //进入解压后的目录
[root@redhat vsftpd-2.3.2]# more INSTALL //看看安装说明。比如要做什么工作。是个英文文档.
2. 提供安装vsftpd服务的前提条件(根据上面more INSTALL的安装说明)
[root@redhat vsftpd-2.3.2]# useradd nobody //这里需要加一个nobody用户。大家可以使用finger nobody查看下。看是否有这个用户,如果有就不需要加了.
useradd: user nobody exists
[root@redhat vsftpd-2.3.2]# mkdir /usr/share/empty/ //这一步同上。服务器 需要一个empty的空目录放在/usr/share/下。可以使用ls /usr/share/empty查看。如果存在就不需要了,这步也可以跳过。
mkdir: 无法创建目录 `/usr/share/empty': 文件已存在
如果需要开启匿名用户访问,需要做下面几步工作
[root@redhat vsftpd-2.3.2]# mkdir /var/ftp/ //创建供匿名用户使用的目录
[root@redhat vsftpd-2.3.2]# useradd -d /var/ftp ftp //创建ftp用户并且指定家目录为/var/ftp,这个步骤一般的系统也有。如果创建提示:user ftp exists(FTP用户存在)就表示此用户已经存在。
3. 编译源代码及安装
[root@redhat vsftpd-2.3.2]# make //编译二进制文件
问题1.
在执行make命令时却出现了问题,具体如下:
sysdeputil.o: In function `vsf_sysdep_check_auth':
sysdeputil.c:(.text+0x109): undefined reference to `crypt'
sysdeputil.c:(.text+0x13a): undefined reference to `crypt'
collect2: ld 返回 1
make: *** [vsftpd] 错误 1
解决方法:
打开Makefile
vim Makefile
LIBS = `./vsf_findlibs.sh`
末尾增加 -lcrypt 变成
LIBS = `./vsf_findlibs.sh` -lcrypt
4. 安装、编辑配置
[root@redhat vsftpd-2.3.2]# cp vsftpd.conf /etc/ //将默认配置文件考贝到/etc/
[root@redhat vsftpd-2.3.2]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd //为了让vsftpd支持本地用户登录,我们将身份认证模块文件(PAM安全验证文件)拷贝到验证文件所在的目录。
[root@redhat vsftpd-2.3.2]# vi /etc/vsftpd.conf
然后按,跳到行尾。设置 pam_server_name=vsftpd(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出
[root@redhat vsftpd-2.3.2]# cp vsftpd.conf.5 /usr/local/man/man5
[root@redhat vsftpd-2.3.2]# cp vsftpd.8 /usr/local/man/man8
基本到这里。所有工作就做完了。
配置vsftpd服务
服务的启动与停止
启动服务之前,我们先编辑配置文件/etc/vsftpd.conf. 打开配置文件后可以看到许多以“#”开始的行,这些行都是注释行,大多是帮助信息,可以仔细阅读。vsftpd.conf文件的所有项目都是以“参数=值 ”来设置的,对格式要求比较严格,必须严格区分大小写,等号两边不能有空格,每行的最后也不能有空格。每个参数都有一个默认值,没有在配置文件中明确指定 的参数就会使用默认值。我们这里不理会配置文件本来的信息,把所有内容都删掉或注释掉,最后加上下面四行,每行右边的//及后的文字是含义说明,不要输入 到文件中:
listen=yes //vsftpd工作在standalone 模式下
anonymous_enable=yes //允许匿名用户登陆服务器
local_enable=yes //允许本地用户登录到服务器
pam_service_name=vsftpd //使用PAM认证
vsftpd有两种工作模式,standalone模式和xinetd守护进程模式,第1行就是让其工作在standalone模式下。此种模式中,每次 修改配置文件必须重新启动vsftpd服务才能生效,关于两种模式在后面有详细介绍。我们安装时还把 Redhat 目录下的 vsftpd.pam 文件复制成了/etc/pam.d/vsftpd 文件。这个文件就是本地用户登陆的 pam 验证配置文件。关于这个文件我们会在后面具体介绍。这里我们要知道,必须得有这个配置文件,而且主配置文件里要加上 pam_service_name=vsftpd语句,我们才能让本地用户登陆。用以下命令启动服务:
[root@redhat vsftpd-2.3.2]# /usr/local/sbin/vsftpd & //后台启动vsftp
问题3:
500 OOPS: bad bool value in config file for: anonymous_enable
看似配置文件错误,看了一下配置相应的行: anonymous_enable=NO 语句没什么错误,不过把这行注释后又到下一行报错,看来是整个文件都有问题,百度了一下,大部分都是说语句后面不能有多余的空格,但是用VI看来不了行末是否有多余的字符,干脆把配置文件下载下来,发现这个文件是一般PC(WINDOWS,CRLF)的格式的,所文件改为UNIX(LF)格式再上传,VSFTP就可以启动了
以下 sed 调用将把 DOS/Windows 格式的文本转换成可信赖的 UNIX 格式:
$ sed -e 's/.$//' mydos.txt > myunix.txt
怎么查看一个既有文件的格式:
unix上: file filename
为保证服务确实启动,我们用如下命令检测:
[root@redhat vsftpd-2.3.2]# netstat -an |grep 22
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
我们看到服务器已经打开了tcp21端口,表明ftp确实已经启动。
再登录服务器:
[root@redhat vsftpd-2.3.2]# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (127.0.0.1:root): ftp
331 Please specify the password.
Password:
230 Login successful.
这时我们已经用匿名用户(用户名ftp或anonymous,密码任意)登录到服务器了,还可以用本地用户登录。我们做测试时建议使用如上所示的ftp命 令(windows、Linux及Unix都带这个命令,用法都是一样的)来登录服务器,这样可以看到更详细的信息,对于我们调试服务器是非常有帮助的。 最简单的ftp服务器就已经达建起来了。
使用如下命令关闭ftp服务:
[root@redhat vsftpd-2.3.2]# killall vsftpd //或是 pkill vsftpd
[root@redhat vsftpd-2.3.2]# pgrep vsftpd //查看vsftpd服务器是否已经关闭
开机自启动
用vi打开etc/rc.local在里面加入/usr/local/bin/vsftpd & 即可。
service vsftpd restart 重启vsftpd服务
vsftp安装和配置的更多相关文章
- CentOS vsftp安装与配置
详细配置说明:. http://www.cnblogs.com/app-lin/p/5189762.html 1.安装vsftpd yum install vsftpd 2.启动/重启/关闭vsftp ...
- 【转】CentOS中vsftp安装、配置、卸载
1. 安装VSFTP yum -y install vsftpd 2. 配置vsftpd.conf文件 # Example config file /etc/vsftpd/vsftpd.conf # ...
- Linux之CentOS下vsftp安装及配置相关操作
1.安装ftps——vsftpd: #yum install vsftpd 2.指定上传下载目录配置: 如:用户名:xxx,需指定目录:/xxx/xxx #useradd -d /xxx/xxx -s ...
- CentOS中vsftp安装、配置、卸载
1. 安装VSFTP 1 [root@localhost ~]# yum -y install vsftpd 2. 配置vsftpd.conf文件 [root@localhost ~]# vi /et ...
- Vsftp安装及配置主动模式/被动模式
第一章.前言 FTP的主动模式(active mode)和被动模式(passive mode) 大多数的TCP服务是使用单个的连接,一般是客户向服务器的一个周知端口发起连接,然后使用这个连接进行通讯 ...
- 阿里云CentOS中vsftp安装、配置、卸载
1--卸载 查看当前服务器中的vsftpdrpm -qa|grep vsftpd 例如结果为:vsftpd-2.2.2-13.el6_6.1.x86_64执行卸载rpm -e vsftpd-2.2.2 ...
- CentOS7 vsftp 安装与配置(视频教程)
(双击全屏播放) 1.安装vsftpd yum install -y vsftpd 2.编辑ftp配置文件 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO ...
- vsftp安装与配置for Linux
以Centos6中使用为例 1.安装 yum -y install vsftpd 2.基本配置 vi /etc/vsftpd/vsftpd.conf 匿名访问和切换根目录都会给服务器带来安全风险,我们 ...
- vsftp安装及配置
一.安装Vsftp 1,安装 yum install vsftpd -y
随机推荐
- 深入理解.NET Core的基元(二) - 共享框架
原文:Deep-dive into .NET Core primitives, part 2: the shared framework 作者:Nate McMaster 译文:深入理解.NET Co ...
- python items和setdefault函数
items() dict = {'runoob': '菜鸟教程', 'google': 'Google 搜索'} print("Value : %s" % dict.setdefa ...
- vue引入百度地图 --BMap is not defined ,eslint BMap报错
在mounted初始化地图的时候,因为异步问题会导致BMap is not defined,也就是百度的api还没完全引入或者加载完成,就已经进行地图初始化了 解决方法: 1.创建一个map.js e ...
- 【洛谷】P2371 [国家集训队]墨墨的等式(屠版题)
先讲讲曲折的思路吧...... 首先,应该是CRT之类的东西,乱搞 不行......打了打草稿,发现有解的情况是gcd(a1,a2.....an)|B,于是可以求gcd然后O(n)查询?但是B的范围直 ...
- Java Part 001( 01_01_Java概述 )
Java作为编程语言, 甚至超出了语言的范畴, 成为一种开发平台, 一种开发规范. Java语言相关的JavaEE规范里, 包含了时下最流行的各种软件工程理念, 学习Java相当于系统的学习了软件开发 ...
- [转载]2.8 UiPath中断活动Break的介绍和使用
一.Break的介绍 Break: 用于结束当前循环. 注意: Break控件只能用于For Each 循环中 二.Break在UiPath中结合For Each循环的使用 1.打开设计器,在设计库中 ...
- 开启docker中的mongodb认证授权
前言: 开启MongoDB服务后,默认是没有权限验证的.直接通过IP加端口就可以远程访问数据库,并对数据库进行任意操作.下面介绍一下如何开启docker中MongoDB的权限认证. 安装完MongoD ...
- Python日志模块logging简介
日志处理是项目的必备功能,配置合理的日志,可以帮助我们了解系统的运行状况.定位位置,辅助数据分析技术,还可以挖掘出一些额外的系统信息. 本文介绍Python内置的日志处理模块logging的常见用法. ...
- PowerMock学习(三)之Mock局部变量
编写powermock用例步骤: 类上面先写这两个注解@RunWith(PowerMockRunner.class).@PrepareForTest(StudentService.class) 先模拟 ...
- python:collections模块
Counter类 介绍:A counter tool is provided to support convenient and rapid tallies 构造:class collections. ...