使用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 ...
随机推荐
- Nginx 当上游服务器返回失败时的处理办法
陶辉95课 Syntax: proxy_next_upstream error | timeout | invalid_header | http_500 | http_502 | http_503 ...
- python之旅4[第四篇]
常用内置函数 map 遍历序列,对序列中的每个元素操作,获取新的序列 如下 对所有元素加10 li = [,,,] def func(arg): new_list = map(func,li) pr ...
- Codeforces1036F Relatively Prime Powers 【容斥原理】
题目分析: 这种题目标题写莫比乌斯反演会不会显得太恐怖了,那就容斥算了. gcd不为1的肯定可以开根.所以把根式结果算出来就行了. 辣鸡题目卡我精度. 代码: #include<bits/std ...
- Django+Xadmin打造在线教育系统(二)
基于xadmin的后台管理 先使用pip进行安装xadmin及其依赖包 pip install django-adminx 安装完成后卸载xadmin,保留依赖包即可 pip uninstall dj ...
- Matplotlib学习---用matplotlib画散点图,气泡图(scatter plot, bubble chart)
Matplotlib里有两种画散点图的方法,一种是用ax.plot画,一种是用ax.scatter画. 一. 用ax.plot画 ax.plot(x,y,marker="o",co ...
- Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) A - D2
A. Be Positive 链接:http://codeforces.com/contest/1130/problem/A 题意: 给一段序列,这段序列每个数都除一个d(−1e3≤d≤1e3)除完后 ...
- RFC2544测试指标
RFC2544测试指标 参考:https://wenku.baidu.com/view/3abbb5bf960590c69ec3769d.html RFC2544性能测试介绍 参考:https:// ...
- html内嵌框架
html内嵌框架 <iframe>标签会创建包含另外一个html文件的内联框架(即行内框架),src属性来定义另一个html文件的引用地址,frameborder属性定义边框,scroll ...
- notepad++设置(不断更新)
1.主题设置 主题名称:Obsidian 字体字号:Courier New 10 设置方法: 设置---语言格式设置---选择主题,同时勾选“使用全局字体”“使用全局字体大小 补充一点: 修改两处地方 ...
- BZOJ4669抢夺(费用流+二分答案)
题目描述 大战将至, 美国决定实行计划经济.美国西部总共有 N 个城市,编号 为 0 ∼ N − 1,以及 M 条道路,道路是单向的.其中城市 0 是一个大城 市,里面住着 K 个人,而城市 N − ...