CentOS开启FTP及配置用户

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

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出现“Response: 500 OOPS: cannot change directory”解决方法
 
笔者用的 Linux发行版本为centos6.4,当用FTP客户端连接时,出现如下错误提示:
 
Response: 500 OOPS: cannot change directory:/home/liangwode
Error: Critical error
Error: Could not connect to server
 
原因分析:
 
在终端下输入如下命令:
 
[root@liangwode log]# sestatus -b| grep ftp
allow_ftpd_anon_write                       off
allow_ftpd_full_access                      off
allow_ftpd_use_cifs                         off
allow_ftpd_use_nfs                          off
ftp_home_dir                                off
ftpd_connect_db                             off
ftpd_use_passive_mode                       off
httpd_enable_ftp_server                     off
tftp_anon_write                             off
 注意以上ftp_home_dir 是处于off的状态,也就是说当前是不允许用户通过FTP登录到/home/*(*代表对应的用户)的目录下的,为此,我们可以用以下方法解决:
 
[root@liangwode log]# setsebool ftp_home_dir on
 输入以上命令就是开启ftp_home_dir的功能,再次查看一下状态:
 
[root@liangwode log]# sestatus -b| grep ftp
allow_ftpd_anon_write                       off
allow_ftpd_full_access                      off
allow_ftpd_use_cifs                         off
allow_ftpd_use_nfs                          off
ftp_home_dir                                on
ftpd_connect_db                             off
ftpd_use_passive_mode                       off
httpd_enable_ftp_server                     off
tftp_anon_write                             off
 发现已经开启了,然后FTP客户端就可以正常登录了.

登陆vsftp创建文件553 Could not create file错误的解决方法

2013 -11 -30 15 :59 来源:风信网 作者:末信 点击:我要评论
TAG标签 VSFTP 创建文件
摘要 风信网(ithov .com)原创文章,今天测试Centos登陆vsftp创建文件553 Could not create file报错信息如下 响应 :227 Entering Passive Mode (192,168,1,6,251,12) . 命令 :LIST 响应 :150 Here comes the directory listing . 响应 :226 Directory send OK . 状态 :

风信网(ithov.com)原创文章,今天测试Centos登陆vsftp创建文件553 Could not create file报错信息如下

响应: 227 Entering Passive Mode (192,168,1,6,251,12).
命令: LIST
响应: 150 Here comes the directory listing.
响应: 226 Directory send OK.
状态: 列出目录成功
状态: 开始上传 C:\Users\Administrator\AppData\Local\Temp\fz3temp-1\empty_file_yq744zm
命令: PASV
响应: 227 Entering Passive Mode (192,168,1,6,120,119).
命令: STOR fdsaf
响应: 553 Could not create file.
错误: 严重文件传输错误

发现没有权限创建文件或是目录,查找原因,原来是selinux引起的登陆问题。

为避免每次开机都要作这个操作,可在setsebool命令后面加上-P选项,使改动永久有效。

[root@localhost webserver]# sestatus -b| grep ftp
allow_ftpd_anon_write                       off
allow_ftpd_full_access                      off
allow_ftpd_use_cifs                         off
allow_ftpd_use_nfs                          off
ftp_home_dir                                on
ftpd_connect_db                             off
ftpd_use_passive_mode                       off
httpd_enable_ftp_server                     off
tftp_anon_write                             off

如果你使用本地用户登陆vsftpd出现如下错误500 OOPS: cannot change directory:/home/ithov,请参阅这篇文章《vsftpd中FTP登陆500 OOPS: cannot change directory:/home/ithov错误解决方法

需要设置allow_ftpd_full_access为on状态,

[root@localhost webserver]# setsebool allow_ftpd_full_access on

[root@localhost webserver]# sestatus -b| grep ftp
allow_ftpd_anon_write                       off
allow_ftpd_full_access                      on
allow_ftpd_use_cifs                         off
allow_ftpd_use_nfs                          off
ftp_home_dir                                on
ftpd_connect_db                             off
ftpd_use_passive_mode                       off
httpd_enable_ftp_server                     off
tftp_anon_write                             off

重新登陆ftp再来创建文件或目录,成功啦!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值