RHEL6.3安装vsftpd

1、下载vsftpd,可以从官网(http://vsftpd.beasts.org)下载,也可以百度搜索

[[email protected] vsftpd]# wget http://down1.chinaunix.net/distfiles/vsftpd-3.0.2.tar.gz

2、解压压缩包并进入解压出来的目录

[[email protected] vsftpd]# tar -zxvf vsftpd-3.0.2.tar.gz
[[email protected] vsftpd]# cd vsftpd-3.0.2/

3、查看INSTALL文件

INSTALL文件中记录了创建、安装、运行vsftp的详细方法,主要包括以下7个步骤:

步骤一、编译vsftpd:

1a、进入vsftpd解压目录

编辑“builddefs.h”,内容如下:

#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL
#endif /* VSF_BUILDDEFS_H */

将以上undef的都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL

1b、输入“make”生成二进制安装程序:

执行make时出现以下错误

tcpwrap.c:16:20: 致命错误:tcpd.h:没有那个文件或目录
   #include <tcpd.h>                    ^
编译中断。
make: *** [tcpwrap.o] 错误 1

解决方法:

yum install tcp_wrappers
yum install tcp_wrappers-devel

再次执行make时又出现以下错误:

ssl.c:28:25: 致命错误:openssl/err.h:没有那个文件或目录
 #include <openssl/err.h>

解决方法:

yum install openssl*

再次执行make时又出现以下错误:

/usr/bin/ld: cannot find -lcap
collect2: 错误:ld 返回 1
make: *** [vsftpd] 错误 1

解决方法:

yum install libcap-devel

最后执行make成功,结果如下:

[[email protected] vsftpd-3.0.2]# make
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o privsock.o tunables.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o seccompsandbox.o -Wl,-s -fPIE -pie -Wl,-z,relro -Wl,-z,now `./vsf_findlibs.sh`

1c、测试编译结果:

[[email protected] vsftpd-3.0.2]# ls -l vsftpd
-rwxr-xr-x. 1 root root 151832 3月   4 14:49 vsftpd

步骤二:满足vsftpd先决条件

2a、vsftp缺省配置需要“nobody”用户,如果系统中没有就先创建

[[email protected] vsftpd-3.0.2]# useradd nobody
useradd:用户“nobody”已存在

2b、vsftpd缺省配置需要目录“/usr/share/empty”,没有该目录的话就创建一个

[[email protected] vsftpd-3.0.2]# ls /usr/share |grep empty
empty

这里显示目录已经存在

3c、匿名文件传输协议(anonymous FTP)需要创建用户“ftp”,创建一个主目录(属主不能是用户ftp,且用户ftp不可写)

[[email protected] vsftpd-3.0.2]# mkdir /var/ftp
[[email protected] vsftpd-3.0.2]# useradd -d /var/ftp ftp
useradd:用户“ftp”已存在

用户ftp已存在,转至下面的命令(更改ftp目录的属主、数组及权限):

[[email protected] vsftpd-3.0.2]# chown root.root /var/ftp
[[email protected] vsftpd-3.0.2]# chmod og-w /var/ftp

修改后ftp目录权限如下:

[[email protected] vsftpd-3.0.2]# ls -l /var/ |grep ftp
drwxr-xr-x.  2 root root    6 3月   4 16:31 ftp

步骤三:安装vsftpd配置文件

3a、运行“make install”

[[email protected] vsftpd-3.0.2]# make install
if [ -x /usr/local/sbin ]; then         install -m 755 vsftpd /usr/local/sbin/vsftpd;     else         install -m 755 vsftpd /usr/sbin/vsftpd; fi
if [ -x /usr/local/man ]; then         install -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8;         install -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5;     elif [ -x /usr/share/man ]; then         install -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8;         install -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5;     else         install -m 644 vsftpd.8 /usr/man/man8/vsftpd.8;         install -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
if [ -x /etc/xinetd.d ]; then         install -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

将配置样例拷贝到etc目录下

[[email protected] vsftpd-3.0.2]# cp vsftpd.conf /etc/

步骤四:冒烟测试

4a、编辑/etc/vsftpd.conf,在底部增加“listen=YES”(作用是让vsftpd不从inetd启动)

4b、以root权限登录,确保没有运行其他FTP服务(否则vsftpd不能使用ftp端口21)

运行vsftpd二进制程序

[[email protected] root]#/usr/local/sbin/vsftpd &
[1] 2104

4c、关闭防火墙

[[email protected] soft]# service iptables stop
iptables:清除防火墙规则:                                 [确定]
iptables:将链设置为政策 ACCEPT:filter                    [确定]
iptables:正在卸载模块:                                   [确定]

4d、随便复制几个文件到“/var/ftp”目录下

4e、连接FTP

[[email protected] ftp]# ftp localhost
Trying ::1...
ftp: connect to address ::1拒绝连接
Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
220 (vsFTPd 3.0.2)
Name (localhost:zcl): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Password处直接敲回车登录

4f、查看ftp文件

ftp> ls -l
227 Entering Passive Mode (127,0,0,1,183,34).
150 Here comes the directory listing.
-r--r--r--    1 0        0           58300 Mar 07 01:24 ftp-0.17-51.1.el6.x86_64.rpm
-rw-r--r--    1 0        0          192808 Mar 07 01:24 vsftpd-3.0.2.tar.gz
226 Directory send OK.
ftp>

4g、在windows系统上登录ftp

用户名输入ftp,密码为空,点击登录

步骤五:启动和关闭vsftpd

vsftpd支持两种启动方式:xinetd和standalone。其中,xinetd是通过xinetd进程来启动和关闭vsftpd服务,这是vsftpd默认的启动方式。standalone方式则是采用独立进程进行启动和关闭,跟普通程序的启动方式一样。

5a、从xinetd运行vsftpd

修改" /etc/xinetd.d/vsftpd ”文件

[[email protected] ftp]# vi /etc/xinetd.d/vsftpd

disable=no,表明xinetd已启用

 default: on
# description:
#   The vsftpd FTP server serves FTP connections. It uses
#   normal, unencrypted usernames and passwords for authentication.
# vsftpd is designed to be secure.
service ftp
{
        socket_type           = stream
        wait                = no
        user               = root
        server              = /usr/local/sbin/vsftpd
#       server_args            =
#       log_on_success           += DURATION USERID
#       log_on_failure           += USERID
        nice               = 10
        disable             = no

将/etc/vsftpd.conf 中的listen=YES改为listen=NO

采用这种方式时,vsftpd不能单独管理。如果需要重启vsftpd,必须重启整个系xinetd的服务,命令如下:

[[email protected] ftp]# service xinetd start
正在启动 xinetd:                                          [确定]
[[email protected] ftp]# service xinetd stop
停止 xinetd:                                              [确定]
[[email protected] ftp]# service xinetd restart
停止 xinetd:                                              [确定]
正在启动 xinetd:                                          [确定]

需要注意的是,“/etc/xinetd.d”目录中仅能开启一个FTP服务

5b、standalone方式启动vsftpd

修改/etc/xinetd.d/vsftpd文件,将disable选项由no改为yes,禁止vsftpd通过xinetd服务启动

修改/etc/vsftpd.conf配置文件,将listen=NO改为listen=YES,指定vsftpd使用standalone方式启动。

重启xinetd服务

[[email protected] ~]# service xinetd restart

启动vsftpd服务

[[email protected] ~]# /usr/local/sbin/vsftpd &
[1] 5205

关闭vsftpd服务

[[email protected] ~]# ps -ef | grep vsftpd
root      5205  3234  0 13:43 pts/0    00:00:00 /usr/local/sbin/vsftpd
root      5231  3234  0 13:44 pts/0    00:00:00 grep vsftpd
[[email protected] ~]# kill -9 5205
[[email protected] ~]# ps -ef | grep vsftpd
root      5242  3234  0 13:45 pts/0    00:00:00 grep vsftpd
[1]+  已杀死               /usr/local/sbin/vsftpd

步骤六:为本地登录设置PAM

如果计算机启用了PAM,需要有一个/etc/pam.d/ftp文件,否则非匿名登录将会失败,对于标准安装,可以从vsftpd安装包解压目录中拷贝,命令如下:

[[email protected] pam.d]# cp /tmp/soft/vsftpd-3.0.2/RedHat/vsftpd.pam /etc/pam.d/ftp

以上仅为vsftpd初级配置,本人为初学者,不到之处望各位大神多多指教(未完待续)!

时间: 2024-12-19 07:59:57

RHEL6.3安装vsftpd的相关文章

RHEL 6.5安装vsftpd(虚拟用户)

1. 配置本地yum源 #vi /etc/yum.repos.d/rhel-source.repo [Server] name=rhel6 baseurl=file:///misc/cd/ enable=1 gpgcheck=1 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release 2. 安装vsftpd #yum installvsftpd 3. 配置vsftpd 编辑配置文件#vi /etc/vsftpd/vsftpd.conf anonym

centos6.5 安装vsftpd

我测试成功后,写成了脚本,内容如下: #!/bin/bash #在yum 可用的情况下运行此脚本service iptables stop &> /dev/null && echo "关闭防火墙" echo "安装vsftpd"yum install -y vsftpd &> /dev/nullif [ $? -eq 0 ]thenecho "服务正在下载安装中-"elseecho "服务下载

linux系统开发 1 基础apt-get 进程 作业 环境变量 安装vsftpd VIM GCC

[本文谢绝转载,原文来自http://990487026.blog.51cto.com] <大纲> linux开发基础 od -tc 查看文件所有字符 显示硬件信息: lshw apt-get操作: 软件包搜索:apt-cache search vim 显示软件包信息 apt-cache show vim 进程: who ps ps aux 作业号: ctrl + z 丢到后台,停止运行 fg 1 调到前台,开始运行 bg 2 调到后台,开始运行 kill 环境变量: env PATH fin

3.linux安装vsftpd服务

1.首先查看本地是否安装了vsftpd rpm -qa |grep vsftpd 2.安装vsftpd: yum install vsftpd 3.查询当前ftp状态 chkconfig --list |grep vsftpd 4.开启ftp服务 chkconfig vsftpd on 5.再次查询ftp状态 chkconfig --list |grep vsftpd 6.第一次安装最好重启一下ftp服务 service vsftpd restart ----Over--By:橙子---

安装 VSFTPD

安装vsftps 一:安装vsftpd 查看是否已经安装vsftpd rpm -qa | grep vsftpd 如果没有,就安装,并设置开机启动 yum -y install vsftpd chkconfig vsftpd on 管理vsftpd相关命令: 启动vsftpd:  service vsftpd start 停止vsftpd:  service vsftpd stop 重启vsftpd:  service vsftpd restart 二.配置防火墙 打开/etc/sysconfi

CentOS 安装vsftpd并建立ftp服务

一.安装vdftpd yum install vsftpd 二.配置vsftpd 1.修改/etc/vsftpd/vsftpd.conf #[a]开启匿名登录 # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES #[b]允许修改root目录 # You may specify an explicit list of local users to chr

Ubuntu14.04安装vsftpd

之前学会了在centos6.7系统上安装vsftpd服务,这次从Ubuntu14.04上安装vsftpd服务 先安装vsftpd包 [email protected]:~# apt-get install vsftpd 与centos6.7不同的是,在Ubuntu中没有vsftpd文件夹,在/etc下只有主配置文件vsftpd.conf和ftpusers文件,并没有user_list文件 新建一个宿主目录 [email protected]:~# mkdir /home/uftp 新建一个用户指

Centos 6.5下安装vsftpd服务器

1.查看是否安装vsftp [[email protected] ~]#rpm -qa|grep vsftpd 如果出现 vsftpd-2.2.2-13.el6_6.1.x86_64  则说明已经安装了vsftp. 如果没出现vsftpd等字段,则执行第二步: 2.安装vsftpd [[email protected] ~]# yum -y install vsftpd 3.配置vsftpd.conf文件[/etc/vsftpd/vsftpd.conf] # Example config fil

RHEL-6.5_x86-64安装Oracle-11.0.2.4系统设置

1.系统kernel参数设置 cat >> /etc/sysctl.conf << "EOF" ##### for Oracle_11gR2 ##### fs.aio-max-nr = 1048576 fs.file-max = 6815744 # kernel.shmall=2097152 # kernel.shmmax=4195057664 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv