Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23810
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 49
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-26 15:53
文章分类
文章存档

2014年(7)

我的朋友

分类: LINUX

2014-11-22 21:43:16

原文:
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)身份执行以下命令

  1. yum install vsftpd
2、设置开机启动vsftpd ftp服务
  1. chkconfig vsftpd on
3、启动vsftpd服务
  1. 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
将底下三行

  1. #chroot_list_enable=YES
  2. # (default follows)
  3. #chroot_list_file=/etc/vsftpd.chroot_list
改为
  1. chroot_list_enable=YES
  2. # (default follows)
  3. chroot_list_file=/etc/vsftpd/chroot_list
2、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
  1. useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
3、设置用户口令
  1. passwd ftpuser
4、编辑文件chroot_list:
  1. vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
iitsahre
itblood


5、重新启动vsftpd

  1. service vsftpd restart


错误解决

1、500 OOPS: cannot change directory

cannot change directory:/home/***
在链接ftp服务器连接失败,错误提示:
500 OOPS: cannot change directory:/home/*******
500 OOPS: child died
解决方法如下:
在终端输入命令:

  1. setsebool -P ftpd_disable_trans 1
  2. service vsftpd restart
就可以解决了


原因:这是因为服务器开启了selinux,这限制了FTP的登录。


3.0.2 最新版本出现以下错误:
Disconnected from server
Connection failed.
OOPS: vsftpd: refusing to run with writable root inside chroot()

解决:
/etc/vsftpd/vsftpd.conf 文件最后添加一行

  1. allow_writeable_chroot=YES




修改默认端口:
vsftpd.conf 添加
listen_port=21
阅读(1396) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~