文章目录
- 前言
- 一 Samba服务
- 1.1 SMB协议
- 1.2 CIFS协议
- 1.3 Samba项目
- 1.4 Samba软件包构成
- 1.5 CentOS 7光盘中,安装包文件
- 1.6 Samba服务器的主要程序
- 1.7 Samba的配置目录及文件
- 1.8 smb.conf文件的配置内容
- 1.9 辅助配置内容
- 二 Samba服务
- 2.1 第一部分 用户访问
- 2.2 第二部分 Linux访问
- 2.3 挂载共享目录到本地使用
- 总结
前言
在Windows网络环境中,主机之间进行文件和打印机共享是通过微软公司自己的SMB/CIFS网络协议实现的。在部署Windows,Linux/UNIX混合平台的企业环境时,选择Samba可以很好的解决不同系统之间的文件互访问题。
一 Samba服务
1.1 SMB协议
Server Message Block,服务消息块
1.2 CIFS协议
Common Internet File System,通用互联网文件系统
1.3 Samba项目
http://www.samba.org
1.4 Samba软件包构成
samba-client-libs-4.4.4-9.el7.x86_64
samba-common-libs-4.4.4-9.el7.x86_64
samba-client-4.4.4-9.el7.x86_64
samba-common-4.4.4-9.el7.noarch
1.5 CentOS 7光盘中,安装包文件
samba-4.4.4-9.el7.x86_64.rpm
例如:
[root@client1 ~]# rpm -qa | grep samba
samba-common-4.6.2-8.el7.noarch
samba-client-4.6.2-8.el7.x86_64
samba-libs-4.6.2-8.el7.x86_64
samba-client-libs-4.6.2-8.el7.x86_64
samba-common-libs-4.6.2-8.el7.x86_64
1.6 Samba服务器的主要程序
smbd:提供对服务器中文件、打印资源的共享访问
nmbd:提供基于NetBIOS主机名称的解析(定位主机)
访问时需要做映射,名字翻译成IP,一个主机名对应一个IP
1.7 Samba的配置目录及文件
/etc/samba/
/etc/samba/smb. conf
配置文件检查工具: testparm
- 安装Samba
[root@client1 ~]# yum -y install samba*
2.启动程序
[root@client1 ~]# systemctl start smb 启动smbd
[root@client1 ~]# netstat -anpt | grep mbd
netstat:查看系统的网络连接状态,路由表,接口统计等信息
-a:显示所有连接
-n:以数字形式显示
-p:显示进程号或程序名
-t:tcp协议
[root@client1 ~]# systemctl start nmb 启动nmbd
[root@client1 ~]# netstat -anptu | grep mbd
1.8 smb.conf文件的配置内容
[global]: 全局设置
[homes]: 用户目录共享设置
[printers]: 打印机共享设置
[myshare]:自定义名称的共享目录设置。
1.9 辅助配置内容
注释行:以#号开头的行
配置样例行:以;号开头的行
结合grep命令可以提取有效配置行
grep -v "^#" smb.conf | grep -v "^;" | grep -v ^$
例如:
[root@client1 ~]# vi /etc/samba/smb.conf
二 Samba服务
2.1 第一部分 用户访问
1,创建两个用户
[root@client1 ~]# useradd limsi
[root@client1 ~]# useradd wangsi
2.创建成samba用户
[root@client1 ~]# pdbedit -a -u limsi
[root@client1 ~]# pdbedit -a -u wangsi
3,创建一个共享目录
[root@client1 ~]# mkdir /share
[root@client1 ~]# cd /share
[root@client1 share]# vi m.txt 编辑两个文件
[root@client1 share]# vi n.txt
[root@client1 share]# cd
4,配置权限
[root@client1 ~]# chmod -R 777 /share/
[root@client1 ~]# cd /share
[root@client1 share]# ls -lh
5,设置samba的主配置文件
[root@client1 ~]# vi /etc/samba/smb.conf
[root@client1 ~]# systemctl restart smb smbd服务重启
[root@client1 ~]# systemctl restart nmb nmbd服务重启
添加
[share]
comment = share directory(共享文件夹)
路径 path = /share
是否可见 public = yes
读权限 valid users = limsi, wangsi
写权限 write list = limsi
- 进行验证
在Window的文件搜索栏里输入命令\20.0.0.12
输入用户名,密码
查看到有一个同名的账户文件[home],一个共享目录文件
可以查看文件
但是不能写入
在另一个Window上进行操作
先查看网络是否与目标网络在同一个网段
在命令提示符中尝试通信
在文件搜索栏中输入命令\20.0.0.12
输入用户名limsi
密码 123456
同样发现一个同名的账户文件,一个共享文件目录
可看,可写,可下载
2.2 第二部分 Linux访问
[root@server2 ~]# smbclient //20.0.0.12/share -U wangsi 登录到客户机
smb: \> ls
smb: \> put anaconda-ks.cfg
smb: \> get n.txt
smb: \> exit
[root@server2 ~]# smbclient //20.0.0.12/share -U limsi
smb: \> get 新建文本文档.txt
smb: \> get m.txt
smb: \> put m.txt
2.3 挂载共享目录到本地使用
[root@server2 ~]# mkdir /myshare
[root@server2 ~]# mount -o username=limsi //20.0.0.12/share /myshare
[root@server2 ~]# df -Th
[root@server2 ~]# cd /myshare
[root@server2 myshare]# ls -lh
总结
通过以上对Samba相关知识的了解,可以由此解决不同系统之间的文件互访问题。