linux(centos6)搭建ftp服务器
前提
ssh服务已经开启,关闭防火墙,主机和虚拟机能ping通
查看ssh和防火墙的状态
service sshd status
service iptables status
开启ssh服务
service sshd start
关闭防火墙
chkconfig iptables off
测试主机和虚拟机的连通性
ping 192.168.2.129
安装并开启tftp和vsftpd
[root@localhost ~]# yum install tftp
[root@localhost ~]# yum install vsftpd
[root@localhost ~]# chkconfig vsftpd on
[root@localhost ~]# chkconfig tftp on
启动vsftpd 服务
service vsftpd start
查看vsftpd 的启动状态
service vsftpd status
打开21和20端口
[root@localhost ~]# /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
[root@localhost ~]# /sbin/iptables -I INPUT -p tcp --dport 20 -j ACCEPT
[root@localhost ~]# /etc/rc.d/init.d/iptables save
添加ftp用户
[root@localhost vsftpd]# useradd ftpuser
[root@localhost vsftpd]# passwd ftpuser
修改sftpd .conf配置文件
[root@localhost vsftpd]#vi /etc/vsftpd/vsftpd.conf
把第一行的 anonymous_enable=YES ,改为NO
注:
vsftpd的配置,配置文件中限定了vsftpd用户连接控制配置。
vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。
vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。如下
[root@Mclass vsftpd]# cat ftpusers
# Users that are not allowed to login via ftp
root
…
[root@Mclass vsftpd]#
重启vstfpd 服务
[root@localhost upload]# service vsftpd restart
windows cmd测试链接
C:\Users\Administrator>ftp 192.168.1.112
连接到 192.168.1.112。
220 (vsFTPd 2.2.2)
用户(192.168.1.112:(none)): ftpuser
331 Please specify the password.
密码:
500 OOPS: cannot change directory:/home/ftpuser
登录失败。
ftp> bye
可以看到报了个错误:500 OOPS: cannot change directory:/home/ftpuser。原因是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。查看如下:
[root@localhost vsftpd]# getsebool -a | 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
httpd_enable_ftp_server --> off
tftp_anon_write --> off
[root@localhost vsftpd]#
只要把allow_ftpd_full_access --> off,ftp_home_dir --> off改为on就可以了。
[root@localhost vsftpd]# setsebool ftp_home_dir 1
[root@localhost vsftpd]# setsebool allow_ftpd_full_access 1
开启SELinux
如执行getsebool -a | grep ftp出现getsebool: SELinux is disabled的错误,需重新开启selinux
vi /etc/selinux/config
更改为:SELINUX=enabled
必须重启linux,不重启是没办法立刻开启selinux的
重启完以后,就可以使用getsebool -a | grep ftp命令了
再次查看
[root@localhost vsftpd]# getsebool -a | 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
httpd_enable_ftp_server --> off
tftp_anon_write --> off
再次测试连接
C:\Users\Administrator>ftp 192.168.1.112
连接到 192.168.1.112。
220 (vsFTPd 2.2.2)
用户(192.168.1.112:(none)): ftpuser
331 Please specify the password.
密码:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> bye
221 Goodbye.
Ok,配置成功,可以用flashxftp来进行上传文件了。
Flashxftp上传文件
首先在/home的目录中创建一个目录,然后设置权限为777
[root@localhost home]# mkdir upload
[root@localhost upload]# chmod -R 777 /home/upload
然后修改vsftp的配置文件vsftpd.conf文件
[root@localhost upload]# vi /etc/vsftpd/vsftpd.conf
在最后添加上
local_root=/home/upload
保存,然后重启vsftpd服务器程序。
配置完成,就可以通过ftp上传文件到/home/upload目录下了。
linux(centos6)搭建ftp服务器的更多相关文章
- 【转】Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍
Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,它基于传输层协议TCP建立,用于Interne ...
- linux系统搭建ftp服务器及创建用户使用
linux 系统下搭建ftp服务器 ftp是什么 FTP是 File Transfer Protocol 文件传输协议的英文名称,用于在Internet上控制文件的双向传输. 同时它也是一个应用程序. ...
- Linux中搭建FTP服务器
FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp 2 ...
- Linux下搭建FTP服务器
实习的公司有一台老服务器转作为FTP服务器,老大把这个任务交给了我.这两天边学边卖的捣腾起来,总算搞成.现在记录下来,加深映像,也以便以后查看复习. 服务器安装的是:Red Hat Enterpris ...
- Linux下搭建FTP服务器(Ubuntu16.04)
搞了下FTP服务器,基本上能遇到的问题都遇到了-.-! 先说步骤: 1.安装vsftpd软件包 sudo apt-get install vsftpd 2.打开配置文件 vim /etc/vsftpd ...
- Linux快速搭建FTP服务器
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(A ...
- linux上搭建ftp服务器
摘要 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行 ...
- 在linux下搭建ftp服务器【转】
1 安装 vsftpd yum install vsftpd 2 配置 vsftpd 打开 vsftpd 文件: vi /etc/vsftpd/vsftpd.conf 初次修改前建议备份该文件 2.1 ...
- Linux 下搭建ftp服务器 指定用户指定目录及其他操作
搭建 Linux下 rpm -qa |grep vsftpd查看是否安装 没安装yum安装 /etc/vsftpd/目录下有vsftpd.conf配置文件 根据需求 进行配置 是否使用匿名用户以及文 ...
- [linux系统]--搭建ftp服务器并且 创建用户 设置密码
下面例子演示创建ftpuser 并且设置密码为ftpuser,ftpuser的目录为/root/ftpuser #!/bin/bash rpm -ivh vsftpd-2.2.2-21.el6.x86 ...
随机推荐
- xcode报错,svn : is not a workingCopy
解决方案: 1.点击对应的targets 2.选择build phases 3.在红框处有一个run script选项(截图中已经删除了.),点击下拉按钮,看看是否是与svn有关的东西, 如果是,删除 ...
- ajax加载模块实时刷新的原理
var loadMenu = function(data) { var trs = template.render('menu-list-temp', {'list': data}); ...
- yii 自定义组件的调用
1,main.php 里面导入 'import' => array( 'application.components.*' ), 2,application/ ...
- IOS 去掉导航栏(UINavigationBar)下方的横线
这是导航栏的问题,将下边的代码放在 viewWillAppear 方法中就可以实现效果: - (void)viewWillAppear:(BOOL)animated{ // Called when ...
- July 4th, Week 28th Monday, 2016
Goals determine what you are going to be. 你的目标决定你将成为怎样的人. What are your goals? What kind of people y ...
- python基础——使用模块
python基础——使用模块 Python本身就内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env ...
- 忘记Mysql登录密码
1,使用安全模式跳过验证: 如果 Mysql在运行,Kill掉. 如果mysqld_safe无法启动,可用管理员权限sudo . 2,本地登录: 启动Mysql 3,修改密码: 5.7之后, 更改密码 ...
- NSOperation使用
1.继承NSOperation DownLoadImageTask.h #import <Foundation/Foundation.h> #import <UIKit/UIKit. ...
- Orleans是什么 (一)
官网:http://dotnet.github.io/orleans/ 文档:http://dotnet.github.io/orleans/What's-new-in-Orleans 源码:http ...
- 常用shell命令操作
1.找出系统中所有的*.c 和*.h 文件 (-o 或者) $find / -name "*.cpp" -o -name "*.h" 2.设定 eth0 的 I ...