使用Linux搭建FTP服务器实现文件共享
使用Linux搭建FTP服务器实现文件共享、、、
----------------
Linux中的文件共享:
FTP
VSFTPD
VSFTPD虚拟用户
FTP可以用在Linux与Linux 和Windows与Linux之间,跨平台使用
Samba可以用在Linux与Linux 和Windows与Linux之间,跨平台使用
-----------------
林那克斯
FTp:File Transfer Protocol 文件传输协议的缩写,是基于网络来传输文件的应用层协议
FTp可以通过网络来传输文件,是因为工作在应用层可以不受平台的限制
---------------
FTP的传输方式

FTp的主动模式与被动模式

------------------
FTp是明文传输的
FTP的用户分为:实体用户realuser
匿名用户anonymous user
访问用户 guest user
--------------
FTp用户的类型
匿名用户 anonymous
本地用户 账号和密码保存在passwd shadow 文件中
虚拟用户 使用独立的账户和密码的文件
--------------
关闭iptables
iptables -F
iptables -L
关闭selinux
vim /etc/sysconfig/selinux
把里边的一行改为
SELINUX=disabled
setenforce 0
查看selinux的状态
getenforce
查看一下当前用的Linux的版本
cat /etc/redhat-release
安装ftpd
yum -y install vsftpd
查看一下安装好的文件
rpm -ql vsftpd | less
-------------------------------
直接在xshell中登录主机
ssh root@10.196.34.75
关闭防火墙和selinux
setenforce 0 关闭了selinux
service iptables stop 关闭了防火墙
yum install vsftpd -y 安装vsftpd
rpm -ql vsftpd 查看一下安装生成的文件
--------------------
查看一下安装完成后的文件
rpm -ql vsftpd | less
查看一下ftp默认账户var的权限
ll /var
-----------------
修改一下配置文件
cd /etc/vsftpd/
vim vsftpd.conf
启用匿名用户
anonymous_enable=YES
重启一下服务
service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service Linux的版本更高了启动服务的命令改变了的提示
[root@root vsftpd]# /bin/systemctl start vsftpd.service
查看一下vsftpd的端口号
ss -tnpl
更清楚的查看监听的端口
netstat -tnlp
------------------------
安装一下ftp 包 ,一般安装在客户端的
yum install ftp -y
安装完成后登陆一下ftp
ftp 10.196.34.3
默认的登录用户名是ftp 登录密码没有,直接Enter即可
登录进ftp后用服务器端的系统查看一下ftp目录
cd /var/ftp/
------------------
执行命令后的效果
[root@root ~]# cd /var/ftp/
[root@root ftp]# ls
pub
------------------
在服务端创建一个111的目录测试
mkdir 111
在客户机上进ftp的pub中可以看到在服务器上新建的测试目录
drwxr-xr-x 2 0 0 6 Oct 01 11:40 111
drwxr-xr-x 2 0 0 6 Mar 07 2014 pub
---------------------
在客户端测试一下当前的ftp是否能上传文件
ftp> lcd /etc
Local directory now /etc
ftp> put fstab
local: fstab remote: fstab
227 Entering Passive Mode (10,196,34,3,127,196).
550 Permission denied.
报错是没有权限
-------------------
打开匿名用户的上传下载权限
# cd /etc/vsftpd/
[root@root vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@root vsftpd]# vim vsftpd.conf
修改
#anon_upload_enable=YES
为
anon_upload_enable=YES
修改
#anon_mkdir_write_enable=YES
为
anon_mkdir_write_enable=YES
-------------------------
主要修改的文件解释
/etc/vsftpd/vsftpd.conf
启用匿名用户
anonymous_enable=YES
是否允许匿名用户上传文件:是否允许匿名用户有创建目录的权限,要考虑文件系统上的所在目录,要有写的权限
anon_upload_enable=YES
登录的匿名用户是否用删除和重命名的权限
anon_other_write_enable=YES
指定上传文件的所有者默认的权限
anon_umask=077
-------------------
重启一下服务
service vsftpd restart
创建一个测试用目录testdir
mkdir testdir
给普通用户testdir的读写执行权限
[root@root ftp]# setfacl -m u:ftp:rwx testdir
查看一下testdir当前拥有的权限
[root@root ftp]# getfacl testdir/
---------------------
在客户端退出ftp登录重新登录一下
ftp> bye
[root@root vsftpd]# ftp 10.196.34.3
----------------
==============================
第二个小实验:
本地用户的ftp
新建一个本地用户
useradd centos
给新建的本地用户centos设置一个密码
[root@root vsftpd]# echo "1123456"|passwd --stdin centos
查看一下本地用户登录ftp的路径
pwd
257 "/home/centos"
是否能进入etc
cd /etc
是否可以进入usr/local
cd /usr/local
回到本地用户的家目录
cd ~
pwd
257 "/home/centos"
-------------------------------
vim
进入主配置文件
chroot_local_user=YES
-----------
重启一下服务
systemctl restart vsftpd
用客户端重新用本地用户访问一下ftp
-------------------
设置在本地用户的时候:那些用户可以有访问权限
修改主配置文件中的内容:
vim vsftpd.conf
allow_writeable_chroot=YES
#chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
新建一个用户权限文件
vim vsftpd.conf
写入内容
centos
重启一下服务
systemctl restart vsftpd
重新用客户端登录ftp访问一下
ftp> ls
227 Entering Passive Mode (10,196,34,3,116,172).
150 Here comes the directory listing.
226 Directory send OK.
ftp> pwd
257 "/"
ftp>
不能访问/etc目录了
--------------------
新建一个本地用户设置密码
useradd redhat
[root@root vsftpd]# echo "111"|passwd --stdin redhat
==================================
小实验设置ftp登录是后的提示信息
打开主配置文件
vim vsftpd.conf
修改
#ftpd_banner=Welcome to blah FTP service.
为
ftpd_banner=Welcome to blah FTP service.
自己写一个banner
banner_file=/etc/vsftpd/banner.txt
----------------
在自定义的欢迎文件中写入内容
vim banner.txt
重启一下服务
systemctl restart vsftpd
/bin/systemctl restart vsftpd.service
重新用客户端登录一下就可以看到自定义的提示信息了
[root@root vsftpd]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220-我是,自定义的ftp欢迎信息!!!!!!
220-
220-It's Cool!!!!
220
Name (192.168.10.10:root):
======================
vim /etc/vsftpd/vusers.txt
写入
zhangsan
123456
lisi
redhat
------------------
生成一个数据库文件
db_load -T -t hash -f vusers.txt vusers.db
设置一下生成的数据库文件的权限
chmod 600 vusers.db
----------------
创建一个不能登录的用户
useradd -d /var/ftproot -s /sbin/nologin vuser
修改一下权限
chmod +rw /var/ftproot/
查看一下当前ftproot的权限
ll /var
drwxr--r--. 3 vuser vuser 74 Oct 1 21:38 ftproot
----------------------
创建一个模块
vim /etc/pam.d/vsftpd.db
写入
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
-------------
修改一下主配置文件
vim vsftpd.conf
guset_enable=yes
guest_username=vuser
pam_service_name=vsftpd.db
user_config_dir=/etc/vsftpd/vusers.d/
最后修改的效果
#pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#
guset_enable=YES
guest_username=vuser
pam_service_name=vsftpd.db
user_config_dir=/etc/vsftpd/vusers.d/
----------------
创建一个目录
mkdir /etc/vsftpd/vusers.d/
cd /etc/vsftpd/vusers.d/
------------
编辑一下用户的配置文件
vim zhangsan
写入
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
---------------
把zhangsan的配置文件复制一个给lisi
cp zhangsan lisi
vim lisi
-------------------
重启一下服务
========================
另外一个小实验
用mysql创建虚拟用户
yum -y install mysql-server vsftpd pam_mysql
-----------------------------------
使用Linux搭建FTP服务器实现文件共享的更多相关文章
- Linux 搭建FTP服务器
介绍 本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置. 知识点 在linux中使用的FTP是vsftp FTP可以有三种登入方式分别是: 匿名登录方式:不需要用户 ...
- 搭建ftp服务器实现文件共享
FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transfer Protocol ...
- Linux搭建FTP服务器
一.搭建环境 阿里云 CentOS 7.3 64位 二.FTP协议基础知识 2.1 简介 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文 ...
- Linux搭建FTP服务器实战
首先准备一台Linux系统机器(虚拟机也可), 检测出是否安装了vsftpd软件: rpm -qa |grep vsftpd 如果没有输出结果,就是没有安装. 使用命令安装,安装过程中会有提示,直接输 ...
- linux搭建FTP服务器并整合Nginx
操作系统:Centos7 1.1.服务器配置 # 关闭SELINUX,把SELINUX=enforcing改为SELINUX=disabled,reboot重启服务器生效 vim /etc/sysco ...
- Linux搭建ftp服务器简单教程及使用方法
参考文章:https://www.waitig.com/linux-or-centos-install-vsftpd-and-setup-it.html 步骤概括如下: 安装:yum install ...
- Linux篇---ftp服务器的搭建
一.前述 企业中linux搭建ftp服务器还是很实用的,所以本文针对centoos7和centoos6搭建服务器教程做个总结. 二.具体 1.显示如下图则表示已安装 vsftp软件.如果未显示则需要安 ...
- linux下FTP服务器搭建教程1
你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西. 虽然我们买不起现实的房子,但是我们可以买互 ...
- 《Linux下FTP服务器搭建及FTP使用》
.LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...
随机推荐
- Android 模块化/热修复/插件化 框架选用
概念汇总 动态加载:在程序运行的时候,加载一些程序自身原本不存在的文件并运行这些文件里的代码逻辑.动态加载是热修复与插件化实现的基础. 热修复:修改部分代码,不用重新发包,在用户不知情的情况下,给ap ...
- ie11的版本判断
我的电脑昨天更新的时候把ie11给更新出来了,然后发现我的skylineweb项目提示我的浏览器不是ie,这样显然是浏览器检测出现了问题.查找后找到了下面的解决方法.大家的电脑如果也更新成了ie11的 ...
- HTML协议
一,HTML协议 简介 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式.协作式和超媒体信息系统的应用层协议.HTTP是万维网的数据通信的 ...
- BZOJ5296 [CQOI2018] 破解D-H协议 【数学】【BSGS】
题目分析: 裸题. 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; ; #define mp ...
- PHP错误代号列表
代号 代号 语法 参考 T_ABSTRACT abstract 抽象类(自 PHP 5.0.0 起可用) T_AND_EQUAL &= 赋值运算符 T_ARRAY array() array( ...
- MobaXterm之取消自动关闭连接 Network error :Connection timed out
连一会就出现连接重来的问题 配置如下.
- U盘启动盘还原
cmd运行 diskpart list disk clean 一般都是disk 1,不过最好先list查一下 右击桌面上的计算机图标,选择管理,进入磁盘管理,能看到u盘分区是未分配的(黑色),右击,新 ...
- [2017-7-27]Android Learning Day5
总结篇! 吭哧吭哧了三天,最近不断研究<第一行代码:第二版>170多页的那个新闻实践项目,虽然也没有用到数据库和一些Web爬虫的知识,新闻数据都是随机生成的字符串...... 但还是很开心 ...
- 单片机的外围功能电路 LET′S TRY“嵌入式编程”: 2 of 6
单片机的外围功能电路 LET′S TRY“嵌入式编程”: 2 of 6 本连载讲解作为嵌入式系统开发技术人员所必需具备的基础知识.这些基础知识是硬件和软件技术人员都应该掌握的共通技术知识. 上期在&l ...
- 使用ss命令对tcp连接数和状态的监控性能优化
之前对tcp的监控采用netstat命令,发现在服务器繁忙的时候效果不理想,这个命令占用大量的cpu有时候高达90%以上,可能会导致业务的不稳定,所以改用ss命令对脚本进行优化 对tcp连接数和状态的 ...