linux下FTP服务器搭建教程1
你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西。
虽然我们买不起现实的房子,但是我们可以买互联网上的房子啊,哈哈哈。
本教程1是在ubuntu 16 64位的服务器版本下实际搭建成功过的。
搭建ftp服务器大致分为如下几个步骤:
1安装vsftpd
2创建ftp服务器默认文件夹,并授权
3创建ftp用户
4修改vsftpd的配置文件
5重启服务
6客户端的登录与上传
7登陆失败常见问题
(教程里的命令不一定适合所有版本和系统,具体的命令请先思考是否正确再去使用)
1安装vsftpd
ubuntu下安装vsftpd,可以使用内置的apt工具,具体的命令是sudo apt-get install vsftpd
apt工具会自动安装以及配置,然后配置文件的在 /etc/vsftpd.conf 里面。
然后使用 sudo service –status-all 命令查看vsftpd服务是否开启了。
[ - ] sendsigs
[ + ] ssh
[ + ] udev
[ + ] ufw
[ - ] umountfs
[ - ] umountnfs.sh
[ - ] umountroot
[ - ] unattended-upgrades
[ + ] urandom
[ - ] uuidd
[ + ] vsftpd
[ - ] x11-common
可以看到vsftpd前面是个加号,证明以及安装成功,并且服务以及开启了。
2创建ftp服务器默认文件夹,并授权
#使用mkdir命令创建ftp默认文件夹
sudo mkdir /home/uftp
#给文件加权限,让文件拥有所有权限,可读写
chmod 777 /home/uftp
3创建ftp用户
#实际上这一步就是利用了linux分用户使用的特性,创建了一个用户,这个用户只被赋予了对指定目录特定的权限。
sudo useradd -d /home/uftp -s /bin/bash uftp
#设置用户uftp的登录密码,这里会让你输出两次密码
sudo passwd uftp
4修改vsftpd的配置文件
总的来说就是允许修改,允许上传与下载,创建用户表,用户表生效,这几个方面的命令。
#使用vim去修改配置文件,关于vim的使用请先行学习
sudo vim /etc/vsftpd.conf
#打开conf文件后会出现很多注释掉的配置以及对应的解释,蓝色的字体比较难看清,可调高屏幕亮度
修改点
# Uncomment this to allow local users to log in.
local_enable=YES
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#下面这条是允许匿名用户可上传,初学者可以打开,但是不安全,还有条匿名用户下载的这里没有写,也需要加上
#anon_upload_enable=YES
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
chown_uploads=YES
chown_username=whoever
向文件中添加”userlist_deny=NO
userlist_enable=YES userlist_file=/etc/allowed_users”
和”seccomp_sandbox=NO”–>使文件中的”local_enable=YES”–>保存。
注意,还需要创建allowed_users文件,不过这里使用vim打开不存在的文件时会自动创建。
sudo vim /etc/allowed_users
打开后是一个空白的文件,添加用户,uftp,保存退出即可。
5重启服务
#使用service命令
sudo service vsftpd restart
#然后再去查看vsftpd的服务状态,确保正在运行
sudo service --status-all
6客户端的登录与上传
我是使用的是filezilla,需要填写主机,用户名,密码,端口。
主机就是自己的远程主机的IP
用户名 uftp
密码即之前创建用户设置的内容
端口 22(我自己的远程21用不了,写的是22)
登陆后我这里就会解析出远程ftp上的路径内容
7登陆失败常见问题
A、vsftpd配置文件设置的不全,相应的权限没有打开
仔细阅读config里面注释,写的很详细,将对用的权限打开
B、排错思路:
1、查看要上传的文件权限,发现我新建的testfile 文件权限为-rw-r–r–,应该不是这个文件权限的问题,不过为了排除,还是修改了权限,改成所有权限都有,chmod 777 testfile
2、修改权限之后,重新修改,发现还是denied,上网查,有同学指出修改配置文件中的参数,在/etc/vsftpd.conf配置文件最后增加一行即可:write_enable=YES,检查/etc/vsftpd.conf配置文件中的write_enable,发现它的默认值是YES,排除这个原因
3、接下来考虑是不是pub文件夹权限问题,ftp>ls 查看pub文件夹详细信息(要先ftp>cd ..返回上一级目录),发现pub文件夹具有所有的权限,排除这个因素
4、设置/etc/vsftpd.conf配置文件中的anonymous_enable=YES,anon_upload_enable=YES,anon_mkdir_write_enable=YES,修改完毕后,重启ftp服务,重新连接
上面的这个思路第4条风险非常大,匿名用户可以上传内容,也可以创建文件,也就意味着别人可以在你的家里为所欲为,不过初学还是可以打开的。
linux下FTP服务器搭建教程1的更多相关文章
- 《Linux下FTP服务器搭建及FTP使用》
.LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...
- linux下ftp服务器搭建
1.yum install vsftpd 使用yum安装ftp 2.创建并授权ftp文件目录 mkdir -P /ftp/ftpadmin chmod -R 777 /ftp/ftp ...
- Linux下DNS服务器搭建详解
Linux下DNS服务器搭建详解 DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域名解析 ...
- linux下的服务器搭建集成环境
linux下的服务器搭建集成环境 ——写给初学者的我们 1.准备工具 1.1 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录 ...
- Linux下dns服务器搭建
Linux下dns服务器搭建1-环境Red Hat Enterprise Linux Server release 6.7 (Santiago)2-配置本地yum源安装dns相关包yum -y ins ...
- Linux下SVN服务器搭建配置
Linux下SVN服务器搭建配置 1.SVN服务安装 yum install subversion 2.创建SVN代码仓库 mkdir /data/svn svnadmin create /data/ ...
- Linux 之 FTP服务器搭建
FTP服务器搭建 参考教程:[千峰教育] 1.关闭防火墙: service iptables stop 2.关闭Selinux setenforce 0 3.安装所需要依赖及编译工具 yum inst ...
- Linux中ftp服务器搭建
一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...
- 写给大忙人的centos下ftp服务器搭建(以及启动失败/XFTP客户端一直提示“用户身份验证失败”解决方法)
注:个人对偏向于底层基本上拿来就用的应用,倾向于使用安装包,直接yum或者rpm安装:而对于应用层面控制较多或者需要大范围维护的,倾向于直接使用tar.gz版本. 对于linux下的ftp服务器,实际 ...
随机推荐
- 【NOI复习】树链剖分
简介 树链剖分通常用来解决一类维护静态树上路径信息的问题, 例如:给定一棵点带权树, 接下来每次操作会修改某条路径上所有点的权值(修改为同一个值或是同加上一个值等) , 以及询问某条路径上所有点的权值 ...
- 安卓平台使用pocketSphinx离线语音识别
版权声明:本文为elecdog原创文章,可以转载,但必须在明确位置注明出处!谢谢合作. 关于语音识别,国内已经有比较好的公司推出相关的服务了,比如百度免费的离在线融合语音识别以及讯飞收费的在线和离线语 ...
- JVM常用启动参数
本文参考 jvm参数设置大全:http://www.cnblogs.com/marcotan/p/4256885.html 堆内存分配及gc:http://www.cnblogs.com/weiguo ...
- 【SignalR学习系列】2. 第一个SignalR程序
新建项目 1.使用VisualStudio 2015 新建一个Web项目 2.选择空模板 3.添加一个新的SignalR Hub Class (v2)类文件,并修改类名为ChatHub 4.修改Cha ...
- Spring依赖注入的简化配置
一, 很久很久以前, 当我们不用@Autowire注解时, 依赖注入要么通过setter方法, 要么通过构造方法; 需要在配置文件里配置一大堆property-ref.......... 二, 若使用 ...
- ORACLE - 管理重做日志文件
ORACLE重做日志文件用于在数据库崩溃等情况下用于恢复数据,默认情况下为三个文件redo01.log/redo02.log/redo03.log,文件组循环使用,在录入与更新操作比较多的应用中,日志 ...
- 灵玖软件NLPIRParser智能文本聚类
随着互联网的迅猛发展,信息的爆炸式增加,信息超载问题变的越来越严重,信息的更新率也越来越高,用户在信息海洋里查找信息就像大海捞针一样.搜索引擎服务应运而生,在一定程度上满足了用户查找信息的需要.然而互 ...
- 走进STM32世界之Hex程序烧写
多数51单片机(STC系列单片机)的初学者都知道,在51单片机初上电时,可以通过PC机上位机软件将程序引导至bootloader,从而将新程序的hex文件下载至单片机中,完成程序的升级或是更新.在32 ...
- Effective Java通俗理解(持续更新)
这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...
- python几种常见语法
NO1.type自动匹配类型 name="zhangsan"age=18 print (type(name))#type自动匹配类型 print ("name:%s,ag ...