您的位置:首页 > 运维架构 > Linux

linux vsftpd 服务器 客户端 FileZilla Client

2014-03-20 23:01 363 查看
vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。

什么是vsftpd

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

OK !现在进入安装配置。

安装vsftpd

1、以管理员(root)身份执行以下命令

yum install vsftpd

2、设置开机启动vsftpd ftp服务

chkconfig vsftpd on

3、启动vsftpd服务

service vsftpd start

管理vsftpd相关命令

停止vsftpd: service vsftpd stop

重启vsftpd: service vsftpd restart

配置防火墙

如果服务器没有下面防火墙文件,则不用进行设置,比如阿里云服务器就没有此配置文件

1、打开/etc/sysconfig/iptables文件

vi /etc/sysconfig/iptables

2、在REJECT行之前添加如下代码

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT

3、保存和关闭文件,重启防火墙

service iptables start

配置vsftpd服务器

默认的配置文件是/etc/vsftpd/vsftpd.conf,你可以用文本编辑器打开。

vi /etc/vsftpd/vsftpd.conf

添加ftp用户

下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。

1、修改/etc/vsftpd/vsftpd.conf

将底下三行

改为

2、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。

useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

3、设置用户口令

passwd ftpuser

4、编辑文件chroot_list:

vi /etc/vsftpd/chroot_list

内容为ftp用户名,每个用户占一行,如:

iitsahre

itblood

5、重新启动vsftpd

service vsftpd restart

错误解决

1、500 OOPS: cannot change directory

结果测试的时候发现

ftp localhost

ftp> cd cdrom

550 Failed to change directory.

无法切换目录到/pub/cdrom

原因是SElinux的FTP传输审核功能禁止切换目录

解决办法:

1. /etc/sysconfig/selinux上禁用之,重启Linux生效

2. 不重启linux,临时停用selinux的办法,

1
/usr/sbin/setenforce 0
3. 禁用SElinux的FTP传输审核功能

1
/usr/sbin/setsebool -P ftpd_disable_trans 1
2
service vsftpd restart
其中参数 -P表示永久性生效

使用getsebool -a | grep ftp命令找到ftp的bool值

匿名上传setsebool -P allow_ftpd_anon_write on

禁用ftp传输审核setsebool -P ftpd_disable_trans on

01
sestatus
02
[root@xen ~]
# sestatus
03
SELinux status:                 enabled
04
SELinuxfs
mount
:                /selinux
05
Current mode:                   permissive
06
Mode from config
file
:          enforcing
07
Policy version:                 21
08
Policy from config
file
:        targeted
09
10
[root@xen ~]
# getsebool -a | grep ftp
11
allow_ftpd_anon_write --> off
12
allow_ftpd_full_access --> off
13
allow_ftpd_use_cifs --> off
14
allow_ftpd_use_nfs --> off
15
allow_tftp_anon_write --> off
16
ftp_home_dir --> off
17
ftpd_disable_trans --> off
18
ftpd_is_daemon --> on
19
httpd_enable_ftp_server --> off
20
tftpd_disable_trans --> off
21
[root@xen ~]
# setsebool -P ftpd_disable_trans on
22
[root@xen ~]
# service vsftpd restart
------------------------------------------------

如果问题依旧,再尝试如下的方法:

打开 /etc/vsftpd/vsftp.conf,将

1
# users to NOT chroot().
2
chroot_list_enable=YES
改成

1
# users to NOT chroot().
2
chroot_list_enable=NO
并把ftp用户添加到/etc/vsftpd/chroot_list中

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐