文件共享服务方案有很多,了解即可
- 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
此时输入账号密码