linux vsftpd 服务器 客户端 FileZilla Client
2014-03-20 23:01
363 查看
vsftpd作为FTP服务器,在Linux系统中是非常常用的。下面我们介绍如何在centos系统上安装vsftp。
OK !现在进入安装配置。
yum install vsftpd
2、设置开机启动vsftpd ftp服务
chkconfig vsftpd on
3、启动vsftpd服务
service vsftpd start
重启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
vi /etc/vsftpd/vsftpd.conf
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
结果测试的时候发现
ftp localhost
ftp> cd cdrom
550 Failed to change directory.
无法切换目录到/pub/cdrom
原因是SElinux的FTP传输审核功能禁止切换目录
解决办法:
1. /etc/sysconfig/selinux上禁用之,重启Linux生效
2. 不重启linux,临时停用selinux的办法,
3. 禁用SElinux的FTP传输审核功能
其中参数 -P表示永久性生效
使用getsebool -a | grep ftp命令找到ftp的bool值
匿名上传setsebool -P allow_ftpd_anon_write on
禁用ftp传输审核setsebool -P ftpd_disable_trans on
------------------------------------------------
如果问题依旧,再尝试如下的方法:
打开 /etc/vsftpd/vsftp.conf,将
改成
并把ftp用户添加到/etc/vsftpd/chroot_list中
什么是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
将底下三行
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 |
1 | /usr/sbin/setsebool -P ftpd_disable_trans 1 |
2 | service vsftpd restart |
使用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 |
相关文章推荐
- 【FileZilla FTP Client】文件与服务器操作客户端
- squidclient命令_Linux squidclient 命令用法详解:squid服务器的客户端管理工具
- Linux 网络编程实现TCP协议下的服务器客户端通信
- XP下解决“system.web.services.protocols.soapexception:服务器无法处理请求。…〉system.exception:system.data.oracleclient 需要oracle客户端软件8.1.7或更高版本。
- git 服务器+git linux客户端搭建
- Linux下vsftpd服务器
- 基于linux poll模型的tcp服务器------一个服务器如何与多个客户端进行通信?
- Linux(RaspberryPi)上FTP(vsftpd)服务器的搭建
- Linux(RHEL、CentOS)服务器用Shell脚本来防止SSH和vsftpd暴力破解
- LINUX设置VNC server配置服务客户端和服务器
- 使用socket的Linux上的C语言文件传输顺序服务器和客户端示例程序
- [转载]异步Socket服务器与客户端(An Asynchronous Socket Server and Client)
- Linux 网络编程基础(一) ---------------客户端/服务器的简单实现
- 服务器与客户端 —— client
- linux安装oracle client客户端连接远程数据库
- linux socket实现网络聊天室(一):服务器和客户端对话
- Linux客户端、服务器、窗口管理器的关系
- Linux图形界面中客户端、服务器、窗口管理器之间的关系
- [转载]异步Socket服务器与客户端(An Asynchronous Socket Server and Client)
- nfsstat命令_Linux nfsstat 命令用法详解:列出NFS客户端和服务器的工作状态