Hello,你好哇,我是下一个艺术家!一个在学习Linux系统的小白!
今天给大家介绍的是Linux当中的samba服务,可以在Linux与windows,Linux与Linux之间文件共享,下面是实验的详细步骤。
- 概述
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。
SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它windows系统或者Linux系统共享出来的文件。
组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
初始化服务
- 测试连通性
- 服务器的网卡设置
- Win10客户机
Win10客户机已连通服务器
实验
- 安装samba服务
[root@server1 ~]# yum -y install samba*
- 写入测试文件
[root@server1 ~]# mkdir /share
[root@server1 ~]# echo aaa > /share/a.txt
[root@server1 ~]# cat /share/a.txt
aaa
- 设置权限
[root@server1 ~]# chmod -R 777 /share
- 更改配置文件,在配置文件末尾加上如下程序
[share]
comment = a share direcotry
path = /share
read only = yes
valid users = lisi, tom
write list = lisi
hosts allow = 192.168.1.
- 启动服务
[root@server1 ~]# systemctl start smb
[root@server1 ~]# systemctl start nmb
- 创建samba用户
[root@server1 ~]# pdbedit -a -u lisi #创建samba用户设置密码
new password:
retype new password:
[root@server1 ~]# pdbedit -a -u tom
new password:
retype new password:
设置密码为123456,出现如下界面
- 客户机Win10测试
服务器的网址ip为192.168.1.100
输入lisi和密码
进入share文件夹
- 新建一个 b文件
创建成功,表明用户lisi有读写权限
tom用户进入
新建文件,表示没有写入权限,实验正常。
- Linux客户机测试
lisi用户
[root@server3 ~]# systemctl stop firewalld.service #关闭防火墙
[root@server3 ~]# setenforce 0 #关闭核心防护
[root@server3 ~]# smbclient //192.168.1.10/share -U lisi #连接服务器
Enter SAMBA\lisi's password:
Domain=[SERVER1] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \> put anaconda-ks.cfg #上传anaconda-ks.cfg,验证写权限
putting file anaconda-ks.cfg as \anaconda-ks.cfg (28.2 kb/s) (average 28.2 kb/s)
smb: \> get a.txt #下载a.txt验证读权限
getting file \a.txt of size 4 as a.txt (1.3 KiloBytes/sec) (average 1.3 KiloBytes/sec)
smb: \> quit
客户机share目录
tom用户连接
服务器share目录
tom并未上传成功,由此可知tom有读权限,无写权限。
将samba共享文件夹挂载到根目录下
[root@server3 ~]# mkdir /mydata
[root@server3 ~]# mount -o username=lisi //192.168.1.10/share /mydata
Password for lisi@//192.168.1.10/share: ******
[root@server3 ~]# cd /mydata
[root@server3 mydata]# touch aaa
[root@server3 mydata]# touch 123123
服务器共享目录下文件存在
以上实验正常
有问题的可以评论或者私聊,都会回复的!
如果您觉得有用的话,欢迎大家收藏评论转发!!!