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服务器,实际 ...
随机推荐
- django 表单提交 post 、get
介绍 : django项目开发必须懂的知识点,下面使用的数据库是mysql , models.py 数据库表结构, # -*- coding: utf-8 -*-from __future__ im ...
- (转)java 多线程 CountDownLatch用法
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待. 主要方法 public CountDownLatch(int count); pu ...
- vue中watched属性
watched属性,vue中的观察属性,可用来监听一个值的变化 默认有两个参数,新值,旧值 data (){ return { currentCity: "深圳" } } watc ...
- HTML基础知识(未完待续)
一.HTML编辑工具:Sublime Text 二.HTML实体字符:1.( 空格): : 2.(<) <: 3.(>)>: 4.(&)&a ...
- AC自动机总结及板子(不带指针)
蒟蒻最近想学个AC自动机简直被网上的板子搞疯了,随便点开一个都是带指针的,然而平时用到指针的时候并不多,看到这些代码也完全是看不懂的状态.只好在大概理解后自己脑补(yy)了一下AC自动机的代码,居然还 ...
- [PS相关]DAS,NAS,SAN三种存储技术比较
随着数据量一直在快速增长,存储技术也在快速的更新以满足需求和推动创新.当存储被提到的时候,它不仅仅局限于存储容量,还有其他的需求比如数据保护,数据备份,数据访问速度等等. NAS-网络存储设备(Net ...
- 人工智能(AI)库TensorFlow 踩坑日记之二
上次 踩坑日志之一 遗留的问题终于解决了,所以作者(也就是我)终于有脸出来写第二篇了. 首先还是贴上 卷积算法的示例代码地址 :https://github.com/tensorflow/models ...
- year:2017 month:7 day:17
2017-07-17 JavaScript 1.javascript 中的运算符 (1)算数运算符:+ ,- ,* ,/ ,% (2)位运算符:& ,| ,~ ,^ ,<< (左 ...
- struts2相关简单介绍
一 Struts2环境配置 1.准备jar包,核心jar包有: 2.创建Struts2项目并导入jar包 3.在Struts2项目中src下创建Struts.xml配置文件 4.在Web.xml文件中 ...
- Boyer-Moore Majority Vote Algorithm
介绍算法之前, 我们来看一个场景, 假设您有一个未排序的列表.您想知道列表中是否存在一个数量占列表的总数一半以上的元素, 我们称这样一个列表元素为 Majority 元素.如果有这样一个元素, 求出它 ...