使用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. Express学习 ------模版引擎(handlebars)

    Handlebars一款js模版引擎,我们在做客户端开发的时候,也可能已经使用过.它语法比较简单,和我们平常写的html 一样,只不过html 中可以加入handlebars 表达式. handleb ...

  2. Nginx+Tomcat 负载均衡集群

    案例分析 通常情况下,一台Tomcat站点由于可能出现单点故障及无法应对多客户复杂多样性的请求等问题,不能单独应用于生产环境下,所以我们需要一套更可靠的解决方案来完善Web站点架构. Nginx是一款 ...

  3. eclipse中无法查看引用的jar包源码

    本文来源:http://blog.csdn.NET/zljjava/article/details/7545270(这篇博客也是转载的,向最原始的作者致敬) 1.下载JAD jad官方地址的官方下载地 ...

  4. JPA save新增问题

    前台传递json,有关联表的情况下 { //主键 "pId" : 0, "platformId" : 0, "poNo" : "p ...

  5. POJ 3074 Sudoku(算竞进阶习题)

    二进制优化+dfs 话说这题数据中真的丧心病狂..不加inline还过不去.. 因为不会DLX只好用二进制来优化了...万万没想到还是低空飘过 我们在行.列.格分别用一个9位二进制常数来记录什么数能放 ...

  6. Speech语音播报

    System.Speech 这个命名空间,报可以阅读文字和播放音频. 环境  W10 VS2017 CMMT 1.添加程序集引用 System.Speech 2.实例化播音类,并且播放一个文本 Spe ...

  7. LOJ6089 小Y的背包计数问题(根号优化背包)

    Solutioon 这道题利用根号分治可以把复杂度降到n根号n级别. 我们发现当物品体积大与根号n时,就是一个完全背包,换句话说就是没有了个数限制. 进一步我们发现,这个背包最多只能放根号n个物品. ...

  8. 解决关于confluence缓慢 字体乱码 宏乱码 编辑不能贴图等问题

    应用场景:Confluence软件不用多说,与Jira一样,都是atlassion的精品软件,不再介绍. 这里因为使用的是破解版的confluence,故遇见一些问题,只能百度谷歌自行解决,也在此记录 ...

  9. kvm虚拟化管理

    虚拟化 KVM (kernel-based virtual machine) 常见的一些虚拟化的软件xen kvm vmware esx openVZ Oracle VM VirtualBox vsp ...

  10. Win10 安装 Linux子系统 Ubuntu18.04 / Kali Linux 的体验

    汇总系列:https://www.cnblogs.com/dunitian/p/4822808.html#linux 几年前就看到新闻,今天周末,突发奇想,家里电脑安装下子系统不就不用安装开发的那些环 ...