使用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服务器实现文件共享的更多相关文章

  1. Linux 搭建FTP服务器

    介绍 本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置. 知识点 在linux中使用的FTP是vsftp FTP可以有三种登入方式分别是: 匿名登录方式:不需要用户 ...

  2. 搭建ftp服务器实现文件共享

    FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transfer Protocol ...

  3. Linux搭建FTP服务器

    一.搭建环境 阿里云 CentOS 7.3 64位 二.FTP协议基础知识 2.1 简介 FTP 是 File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文 ...

  4. Linux搭建FTP服务器实战

    首先准备一台Linux系统机器(虚拟机也可), 检测出是否安装了vsftpd软件: rpm -qa |grep vsftpd 如果没有输出结果,就是没有安装. 使用命令安装,安装过程中会有提示,直接输 ...

  5. linux搭建FTP服务器并整合Nginx

    操作系统:Centos7 1.1.服务器配置 # 关闭SELINUX,把SELINUX=enforcing改为SELINUX=disabled,reboot重启服务器生效 vim /etc/sysco ...

  6. Linux搭建ftp服务器简单教程及使用方法

    参考文章:https://www.waitig.com/linux-or-centos-install-vsftpd-and-setup-it.html 步骤概括如下: 安装:yum install ...

  7. Linux篇---ftp服务器的搭建

    一.前述 企业中linux搭建ftp服务器还是很实用的,所以本文针对centoos7和centoos6搭建服务器教程做个总结. 二.具体 1.显示如下图则表示已安装 vsftp软件.如果未显示则需要安 ...

  8. linux下FTP服务器搭建教程1

    你买了个主机就像是买了块地皮,搭建FTP就像是盖房子,我在地皮上建房子,然后创建的用户就像是钥匙,我给谁钥匙(权限),谁就可以到我家去玩,去放东西,拿东西. 虽然我们买不起现实的房子,但是我们可以买互 ...

  9. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

随机推荐

  1. .NET Core 2.0及.NET Standard 2.0 Description

    NET Core 2.0的发布时间,.NET Core 2.0预览版及.NET Standard 2.0 Preview大概在5月中旬或下旬发布. .NET Core 2.0正式版本发布时间大约在Q3 ...

  2. Real-time chart using ASP.NET Core and WebSocket

    Solution in glance The following diagram illustrates our solution where IoT device reports readings ...

  3. 【数模】day06-数理统计I

    数理统计. 以样本推断总体,进而用总体研究问题. 分两部分学习,第一部分是基础统计.参数估计.假设检验以及bootstrap方法. 1. 基础统计 假设有如下数据: 要做频数表.直方图.折线图.饼状图 ...

  4. Git秘钥生成以及Gitlab配置

    安装Git:详见http://www.cnblogs.com/xiuxingzhe/p/9300905.html 开通gitlab(开通需要咨询所在公司的gitlab管理员)账号后,本地Git仓库和g ...

  5. layui laydate设置当前日期往后不可选

    layui laydate设置当前日期往后不可选 laydate.render({ elem: '#demo', max: maxDate() }); // 设置最大可选的日期 function ma ...

  6. 上传第三方jar包至maven私服,以geotools为例

    上传jar包(模块打包方式为jar) mvn deploy:deploy-file -DgroupId=org.geotools -DartifactId=gt-api -Dversion=10.3 ...

  7. 利用kali破解wifi密码

    准备工具 1.笔记本 2.USB无线上网卡(必备) 3.kali系统 4.密码字典 第一种方法 暴力破解法 何为暴力破解呢,其实就是一个一个密码去试,直到正确的密码. 现在的wifi一般加密都是: 1 ...

  8. BZOJ 1977 严格次小生成树(算竞进阶习题)

    树上倍增+kruskal 要找严格次小生成树,肯定先要找到最小生成树. 我们先把最小生成树的边找出来建树,然后依次枚举非树边,容易想到一种方式: 对于每条非树边(u,v),他会与树上的两个点构成环,我 ...

  9. Gogs 部署安装(windows)

    Gogs简介 Gogs 是一款类似GitHub的开源文件/代码管理系统(基于Git),Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs ...

  10. 「ZJOI2015」地震后的幻想乡 解题报告

    「ZJOI2015」地震后的幻想乡 想了半天,打开洛谷题解一看,最高票是_rqy的,一堆密密麻麻的积分差点把我吓跑. 据说有三种解法,然而我只学会了一种最辣鸡的凡人解法. 题意:给一个无向图\(G\) ...