文件共享服务方案有很多,了解即可

  • ftp(简单文件传输服务)
  • 提供用户认证机制
  • 可以输入账号密码
  • python -m SimpleHTTPServer
  • nginx也提供了文件下载的功能
  • 提供用户认证机制
  • 反向代理,负载均衡
  • web服务器,静态文件服务器的作用
  • 如ftp服务器的作用
  • samba(linux和windows之间共享数据)
  • 提供用户认证机制
  • nfs(主要用这个)
重点学习,工作里用的是
nfs
nginx
平时,简易的快速进行文件下载,下载服务器上的资料
python -m SimpleHTTPServer
nohup python -m SimpleHTTPServer &
访问
10.0.0.31:8000

一.搭建ftp服务

1.需要安装vsftpd服务
yum install vsftpd -y

2.修改ftp配置文件,设置账号密码,登录ftp服务器,可以查看某文件夹下的数据资料(共享文件夹)

3.创建一个linux的用户(ftp使用linux的用户信息,不靠谱)
useradd yiyuan
设置该用户密码
[root@nfs-31 ~]#echo '123456' | passwd --stdin  yiyuan
Changing password for user ops01.
passwd: all authentication tokens updated successfully.

4.修改ftp配置文件,设置用于共享的目录
[root@nfs-31 ~]#rpm -ql vsftpd
[root@nfs-31 ~]#rpm -ql vsftpd |grep '.conf$'
/etc/vsftpd/vsftpd.conf

4.1 关闭所有的匿名用户功能,不安全
找出和匿名用户相关的配置参数
[root@nfs-31 ~]#grep '^anonymous'  /etc/vsftpd/vsftpd.conf
anonymous_enable=NO

4.2添加自定义的共享文件夹配置参数,笔记的解释,别写入linux中,写笔记上,否则可能会导致编码不识别,程序出错
直接在文件最低下,添加如下配置
# 配置解释
# local_root=/data/kefu  指定本地用户的默认数据根目录 
# chroot_local_user=YES 禁锢本地用户的默认数据目录(禁止用户切换到其他目录)
# allow_writeable_chroot=YES 允许ftp用户登录后,可以创建数据

你只需要修改如下三个参数即可
# ftp用户,ops01登录ftp之后,只能看到/test_2226这个文件夹下的数据
## by myself
local_root=/test_2226/
chroot_local_user=YES
allow_writeable_chroot=YES

5.创建用于共享的文件夹
[root@nfs-31 ~]#mkdir /test_2226
[root@nfs-31 ~]#touch /test_2226/eryuan.png
别忘记修改文件夹的权限,否则无法读取了,修改为刚才自定义的用户
chown -R yiyuan:yiyuan /test_2226/
[root@nfs-31 ~]#ll -d /test_2226/
drwxr-xr-x 2 yiyuan yiyuan 24 Dec  6 20:55 /test_2226/

6.此时可以重启vsftpd服务
[root@nfs-31 ~]#systemctl restart vsftpd
[root@nfs-31 ~]#ps -ef|grep vsftpd
root       2221      1  0 15:01 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       2226   1168  0 15:02 pts/0    00:00:00 grep --color=auto vsftpd

使用客户端,验证ftp的登录,数据查看

你可以用另一台机器,安装ftp程序,登录vsftpd服务端
yum install ftp -y

登录ftp设备的命令
ftp 机器的ip地址
如

ftp 10.0.0.31
输入账号密码 yiyuan 123456
进入之后,输入? 查看ftp提供的命令帮助
ftp> pwd  查看当前的ftp目录位置
257 "/"

ftp提供的上传下载
下载功能
ftp> get
(remote-file) 一原.png
(local-file) 一一原666.png
local: 一一原666.png remote: 一原.png
227 Entering Passive Mode (10,0,0,31,253,52).
150 Opening BINARY mode data connection for 一原.png (0 bytes).
226 Transfer complete.

上传功能
ftp> put
(local-file) /opt/223333.jpg
(remote-file) 22222.jpg
local: /opt/223333.jpg remote: 22222.jpg
227 Entering Passive Mode (10,0,0,31,206,221).
150 Ok to send data.
226 Transfer complete.
ftp>


ftp是客户端、服务端两个
服务端是  vsftpd
linux客户端是  ftp命令 ,以及其他各种支持ftp协议的工具,如windows下提供很多软件,支持图形化上传下载ftp,xftp

windows访问ftp
命令行操作
C:\Users\一原>ftp 10.0.0.31
连接到 10.0.0.31。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(10.0.0.31:(none)): yiyuan
331 Please specify the password.
密码:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
22222.jpg
eryuan.png
一原.png
226 Directory send OK.
ftp: 收到 38 字节,用时 0.00秒 19.00千字节/秒。
ftp>

图形化连接ftp设备
指定协议语法
ftp://10.0.0.31/

二.samba服务端的部署

client  server软件的使用,部署流程

1.安装samba软件
yum install samba -y
2.修改配置文件,依然是设置一个共享文件夹
samba的软件配置文件在
ls /etc/samba/
lmhosts  smb.conf  smb.conf.example
修改 /etc/samba/smb.conf

添加自定义的,共享文件夹的配置
[root@nfs-31 /opt]#tail -7 /etc/samba/smb.conf
[smb_share]
    comment=myself share dir
    path = /my_smb/
    guest ok=no
    public = no
    writable = yes


3.创建共享文件夹
mkdir /my_smb/

4.samba也有用户认证机制,需要通过pdbedit命令设置samba的用户信息
4.1 pdbedit命令是给linux以及存在的用户,设置一个密码
useradd  samba01

4.2 使用pdbedit命令,给samba的用户设置密码
-a 添加smb用户
-u 指定用户名

# 123123
[root@nfs-31 /opt]#pdbedit -a -u samba01
new password:
retype new password:

5.修改smb共享文件夹的权限
chown -R samba01:samba01   /my_smb/

6.给该目录下创建些数据
touch 一原666.png

7.启动samba服务
[root@nfs-31 /my_smb]#systemctl start smb

8.后续你的确需要部署samba服务,如何使用samba?
samba是一个软件,所有的功能,都被以配置文件形式定义好了
配置文件是最重要的,控制软件功能的一个文件
程序启动会去读取配置文件中的参数,以打开、关闭不同的功能

9.验证进程、端口
[root@nfs-31 /my_smb]#netstat -tunlp|grep smb
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      2759/smbd           
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      2759/smbd           
tcp6       0      0 :::445                  :::*                    LISTEN      2759/smbd           
tcp6       0      0 :::139                  :::*                    LISTEN      2759/smbd           
[root@nfs-31 /my_smb]#ps -ef|grep smb
root       2759      1  0 15:48 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root       2761   2759  0 15:48 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root       2762   2759  0 15:48 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root       2763   2759  0 15:48 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group

samb客户端认证

linux客户端
需要安装工具
yum install samba-client -y

2.使用该命令,连接samba机器即可
smbclient //10.0.0.31/smb_share   -U samba01
# 输入samba01的密码即可
#进入后,输入 ? 查看samba提供的命令,也就是作用

windowos也有客户端
使用 windows的win快捷键+ r,打开运行窗口
访问samba的协议是
\\10.0.0.31\smb_share
此时输入账号密码