使用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 ...
随机推荐
- hibernate多对多映射文件的配置
user.hbm.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate ...
- 简单聊聊Linux学习经历
学习,是我们一生中都规避不了的一个话题,人的一生中都是在不断的学习,无论是功成名就的人士,还是一无是处的小混混,始终都处在一个不断学习的环境中,只是学习的内容千差万别,有的人是为了提升自己各方面的能力 ...
- BZOJ2275[Coci2010]HRPA——斐波那契博弈
题目描述 N个石子,A和B轮流取,A先.每个人每次最少取一个,最多不超过上一个人的个数的2倍.取到最后一个石子的人胜出,如果A要有必胜策略,第一次他至少要取多少个. 输入 第一行给出数字N,N< ...
- 洛谷P4782 2-SAT问题
2-SAT问题 这是一道2-SAT的模板题.对于2-SAT问题的每一个条件,我们需要把他们转化成可接受的条件.即"若变量A的赋值为x,则变量B的赋值为y",其中x,y均等于0或1. ...
- POJ 3322 Bloxorz(算竞进阶习题)
bfs 标准广搜题,主要是把每一步可能的坐标都先预处理出来,会好写很多 每个状态对应三个限制条件,x坐标.y坐标.lie=0表示直立在(x,y),lie=1表示横着躺,左半边在(x,y),lie=2表 ...
- monkey测试的脚本
monkey测试脚本编写思路: 配置文件: 1.测试安装包路径 2.执行monkey脚本的次数 3.执行monkey的点击数 4.包名 读取配置文件: 1.配置文件有一个section 2.读取配置文 ...
- 最简单的spring boot web项目
搭建效果为: 直接在网页输入请求,在页面中显示一行文字:Hello,Spring Boot 与一般的wen项目不同的地方: 1.不需要配置web.xml 文件,但需要注解@SpringBootAppl ...
- RSS阅读器“阅读原文”报错400
问题 使用SpringMVC框架,实现了RSS订阅,在FoxMail的RSS订阅页面,点击[阅读原文],报错400 . 每个RSS文章的链接是:https://jiashubing.cn/forum/ ...
- ftp:linux下利用shell脚本添加虚拟用户并赋予权限
首先ftp配置应为虚拟用户登录模式 用户密码文本目录为/etc/vsftpd/vftpuser,代码如下: #!/bin/bash # ];then username=$ password=$ hom ...
- jquery扩展写法
如何制作自己的Jquery插件,内容参考学习了网上的讲解,如下 使用这两个方法 jQuery.fn.extend(object) jQuery.extend(object) jQuery.extend ...