centos vsftp

来源:互联网 发布:淘宝视频取消自动播放 编辑:程序博客网 时间:2024/05/29 09:22

安装 以下出现问题。


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

什么是vsftpd

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

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

安装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

配置防火墙

打开/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

配置vsftpd服务器

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

  1. 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用户名,每个用户占一行,如:

peter
john

5、重新启动vsftpd

  1. service vsftpd restart

http://www.centos.bz/2011/03/centos-install-vsftpd-ftp-server/


今天想起了在Windows客户端传送文件到CentOS服务器的另外一种方法,就是使用FTP的上传功能,这样就使用vsftpd建一个FTP服务器吧,建很简单,但是出现一个小问题,就是使用FTP用户登录的时候,老是出现

500 OOPS: cannot change directory:/home/user

百思不得其解,肿么回事?

后来放狗搜了一下,找到了答案,原来是SELinux的问题,默认情况下,把ftp_home_dir给禁掉了,所以无法更换目录,很奇怪,记得没启用SElinux啊

不过后来更改了之后,就没问题了

getsebool -a | grep ftp
查看一下,果然关闭了

ftp_home_dir --> off

使用命令setsebool更改状态

setsebool -P ftp_home_dir on

再查看一下

getsebool -a |grep ftp

ftp_home_dir --> on

隐约记得Samba也是这种毛病,看来需要同样的方法改

先把建立ftp的步骤记录一下吧

1.安装vsftpd

yum -y install vsftpd

2.设置开机启动vsftpd

chkconfig vsftpd on

3.设置FTP用户

useradd ftpuser -d /tmp/www -s /sbin/nologin ftpuser

passwd ftpuser

4.设置FTP目录

mkdir /tmp/www

chown ftpuser:ftpuser /tmp/www

chmod 777 /tmp/www

5.设置iptables

vi /etc/sysconfig/iptables

添加如下一行,要在REJECT之前添加

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

保存退出

service iptables restart

6.设置vsftpd配置文件

vi /etc/vsftpd/vsftpd.conf

在配置文件中,把这几句前面的#去掉

local_enable=YES
write_enable=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

7.编辑chroot_list文件,将ftpuser添加到文件中

8.启动vsftpd服务

service vsftpd start

 

另外,怀疑Samba配置好之后无法访问目录,也是这个SELinux的问题,等我有时间,测试一下

原创粉丝点击