使用Samba实现文件共享
1987年,微软公司和英特尔公司共同制定了SMB(Server Messages Block)服务器消息块协议,旨在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来越简单。到了1991年,当时还在读大学的Tridgwell为了解决Linux系统与Windows系统之间的文件共享问题,基于SMB协议开发出了SMBServer服务程序。这是一款开源的文件共享软件,经过简单配置就能够实现Linux系统与Windows系统之间的文件共享工作。当时,Tridgwell想把这款软件的名字SMBServer注册成为商标,但却被商标局以SMB是没有意义的字符而拒绝了申请。后来Tridgwell不断翻看词典,突然看到一个拉丁舞蹈的名字—Samba,而且这个热情洋溢的舞蹈名字中又恰好包含了“SMB”,于是Samba服务程序的名字由此诞生。Samba服务程序现在已经成为在Linux系统与Windows系统之间共享文件的最佳选择。
首先需要先通过软件仓库来安装Samba服务程序(Samba服务程序的名字也恰巧是软件包的名字),顺手再安装一个samba-client软件包,这是用于一会测试共享目录的客户端程序
# dnf install samba samba-client
Samba服务程序的主配置文件: /etc/samba/smb.conf
Samba服务程序中的参数以及作用
| 行数 | 参数 | 作用 |
| 1 | # See smb.conf.example for a more detailed config file or | 注释信息 |
| 2 | # read the smb.conf manpage. | |
| 3 | # Run 'testparm' to verify the config is correct after | |
| 4 | # you modified it. | |
| 5 | [global] | 全局参数 |
| 6 | workgroup = SAMBA | 工作组名称 |
| 7 | ||
| 8 | security = user | 安全验证的方式,总共有4种 |
| 9 | ||
| 10 | passdb backend = tdbsam | 定义用户后台的类型,总共有3种 |
| 11 | ||
| 12 | printing = cups | 打印服务协议 |
| 13 | printcap name = cups | 打印服务名称 |
| 14 | load printers = yes | 是否加载打印机 |
| 15 | cups options = raw | 打印机的选项 |
| 16 | ||
| 17 | [homes] | 共享名称 |
| 18 | comment = Home Directories
|
描述信息 |
| 19 | valid users = %S, %D%w%S | 可用账户 |
| 20 | browseable = No | 指定共享信息是否在“网上邻居”中可见 |
| 21 | read only = No | 是否只读 |
| 22 | inherit acls = Yes | 是否继承访问控制列表 |
| 23 | ||
| 24 | [printers] | 共享名称 |
| 25 | comment = All Printers | 描述信息 |
| 26 | path = /var/tmp | 共享路径 |
| 27 | printable = Yes | 是否可打印 |
| 28 | create mask = 0600 | 文件权限 |
| 29 | browseable = No | 指定共享信息是否在“网上邻居”中可见 |
| 30 | ||
| 31 | [print$] | 共享名称 |
| 32 | comment = Printer Drivers | 描述信息 |
| 33 | path = /var/lib/samba/drivers | 共享路径 |
| 34 | write list = @printadmin root | 可写入文件的用户列表 |
| 35 | force group = @printadmin | 用户组列表 |
| 36 | create mask = 0664 | 文件权限 |
| 37 | directory mask = 0775 | 目录权限 |
- 书本笔记


浙公网安备 33010602011771号