CentOS开启FTP及配置用户 - gaojiewang的专栏 - 博客频道


CentOS开启FTP及配置用户


分类: Linux/Unix 2012-03-19 14:10 623人阅读 评论(0) 收藏 举报


目录(?)[+]

  1. 什么是vsftpd
  2. 安装vsftpd
  3. 配置防火墙
  4. 配置vsftpd服务器
  5. 添加ftp用户
  6. 出现的错误


 

原文链接: http://www.centos.bz/2011/03/centos-install-vsftpd-ftp-server/

 

vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。

 

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

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

打开/etc/sysconfig/iptables文件


  1. vi /etc/sysconfig/iptables


在REJECT行之前添加如下代码


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


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


  1. service iptables start


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


  1. vi /etc/vsftpd/vsftpd.conf


下面是添加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


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


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


4、设置用户口令


  1. passwd ftpuser


5、编辑文件chroot_list:


  1. vi /etc/vsftpd/chroot_list


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

peter
john

6、重新启动vsftpd


  1. service vsftpd restart


另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:

http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users

1、500 OOPS: cannot change directory
解决方法:

 

在终端输入命令:


  1. setsebool -P ftpd_disable_trans 1
  2. service vsftpd restart


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




 

vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。

 

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。

vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

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

打开/etc/sysconfig/iptables文件



  1. vi /etc/sysconfig/iptables



在REJECT行之前添加如下代码



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



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



  1. service iptables start



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



  1. vi /etc/vsftpd/vsftpd.conf



下面是添加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



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



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



4、设置用户口令



  1. passwd ftpuser



5、编辑文件chroot_list:



  1. vi /etc/vsftpd/chroot_list



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

peter
john

6、重新启动vsftpd



  1. service vsftpd restart



另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:

http://wiki.centos.org/HowTos/Chroot_Vsftpd_with_non-system_users

1、500 OOPS: cannot change directory
解决方法:

 

在终端输入命令:



  1. setsebool -P ftpd_disable_trans 1
  2. service vsftpd restart



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