CentOS 6.x环境下部署vsftpd
一、环境准备
1)CentOS release 6.5 (Final)
2)本例采用YUM安装,需要先配置好YUM源
3)为了实验的顺利,这里关闭防火墙和selinux
二、安装部署
1)配置vsftpd
[root@linuxidc ~]# yum install -y vsftpdLoaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:2.2.2-24.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================
Package Arch Version Repository Size
===============================================================================================
Installing:
vsftpd x86_64 2.2.2-24.el6 base 156 k
Transaction Summary
===============================================================================================
Install 1 Package(s)
Total download size: 156 k
Installed size: 340 k
Downloading Packages:
vsftpd-2.2.2-24.el6.x86_64.rpm | 156 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : vsftpd-2.2.2-24.el6.x86_64 1/1
Verifying : vsftpd-2.2.2-24.el6.x86_64 1/1
Installed:
vsftpd.x86_64 0:2.2.2-24.el6
Complete!
[root@linuxidc ~]# cd /etc/vsftpd/
[root@linuxidc vsftpd]# cp vsftpd.conf vsftpd.conf-bak
[root@linuxidc vsftpd]# vim vsftpd.conf
修改如下内容:
anonymous_enable=YES --->anonymous_enable=NO
#chroot_list_enable=YES ---> chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list ---> chroot_list_file=/etc/vsftpd/chroot_list
假定我们需要登录的用户为linuxidc,需要上传下载的目录为/data
[root@linuxidc vsftpd]# mkdir /data
[root@linuxidc vsftpd]# useradd -d /data linuxidc
useradd: warning: the home directory already exists. #此报错提示可以忽略,因为上面已经新建了linuxidc的家目录
Not copying any file from skel directory into it.
[root@linuxidc vsftpd]# chsh -s /sbin/nologin linuxidc
Changing shell for linuxidc.
Shell changed.
[root@linuxidc data]# echo RedHat |passwd --stdin linuxidc
Changing password for user linuxidc.
passwd: all authentication tokens updated successfully.
[root@linuxidc vsftpd]# cat /etc/passwd
linuxidc:x:500:500::/data:/sbin/nologin
[root@linuxidc vsftpd]# vim /etc/vsftpd/chroot_list
linuxidc #保存
[root@linuxidc vsftpd]# service vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
三、测试
[root@linuxidc vsftpd]# cd /data/ [root@linuxidc data]# touch aa bb cc [root@linuxidc data]# service vsftpd restart
此时我们可以正常从ftp服务器上面下载文件,但是上传文件会有如下报错:
解决方法:
[root@linuxidc data]# ll -d /data drwxr-xr-x. 2 root root 4096 Nov 10 14:24 /data #该目录权限是属于root用户,root组 修改目录权限如下 [root@linuxidc data]# chown linuxidc:root /data [root@linuxidc data]# service vsftpd restart
再次测试,已经可以正常上传到/data目录下文件了,至此vsftpd服务器搭建完成。(同样适用于CentOS 7.x)
[root@linuxidc data]# ll total 32 -rw-r--r--. 1 root root 0 Nov 10 14:24 aa -rw-r--r--. 1 root root 0 Nov 10 14:24 bb -rw-r--r--. 1 root root 0 Nov 10 14:24 cc -rw-r--r--. 1 linuxidc biezz 28715 Nov 10 14:43 SSJ.txt
附:Linux下上传和下载
[root@linuxidc /]# rpm -qa |grep lftp lftp-4.4.8-8.el7_3.2.x86_64 #检查是否有安装lftp,如果没有请用YUM安装lftp [root@linuxidc ~]# touch bie [root@linuxidc ~]# lftp [email protected] 口令: lftp [email protected]:~> put bie #上传文件 lftp [email protected]:/> [root@linuxidc ~]# cd / [root@linuxidc /]# lftp [email protected] 口令: lftp [email protected]:~> mirror -R ops/ #上传目录 Total: 1 directory, 1 file, 0 symlinks New: 1 file, 0 symlinks
查看ftp服务器端:
[root@linuxidc data]# ll
total 36
-rw-r--r--. 1 linuxidc biezz 0 Nov 10 15:37 bie
drwxr-xr-x. 2 linuxidc biezz 4096 Nov 10 15:41 ops
-rw-r--r--. 1 linuxidc biezz 28715 Nov 10 14:43 SSJ.txt
[root@linuxidc data]# mkdir test
再次切回到客户端:
[root@linuxidc /]# cd /ops
lftp [email protected]:~>
lftp [email protected]:~> get SSJ.txt #下载文件
28715 bytes transferred
lftp [email protected]:/> mirror test/ #下载目录
Total: 1 directory, 0 files, 0 symlinks
[root@linuxidc ops]# ll
总用量 32
-rw-r--r--. 1 root root 0 12月 14 19:23 bie
-rw-r--r--. 1 root root 28715 11月 10 14:43 SSJ.txt
drwxr-xr-x. 2 root root 6 12月 14 19:30 test
更多Vsftpd相关教程见以下内容: