搭建 samba 服务器
Samba,是 UNIX 系列与微软 Windows 操作系统的 SMB/CIFS(Server Message Block/Common Internet File System)网络协议做链接的自由软件。第三版不仅可访问及分享 SMB 的文件夹及打印机,本身还可以集成入 Windows Server 的网域,扮演为网域控制站(Domain Controller)以及加入 Active Directory 成员。简而言之,此软件在 Windows 与 UNIX 系列操作系统之间搭起一座桥梁,让两者的资源可互通有无
部署环境如下:

# 服务端和客户端安装对应的软件( samba-client 在这里并不只是 samba 的客户端,也是一个提供了 samba 相关命令的工具)

# 查看 samba-client 软件包安装了哪些命令

# 切换至 samba 配置文件的目录,然后操作 samba 的配置文件( smb.conf.example 为 samba 的示例配置文件 )

# 编辑 smb.conf 配置文件,在配置文件中加入以下内容

# samba 配置文件参数详解
[global] # 定义了整个 samba 服务器的全局设置
workgroup = MYGROUP # 指定 samba 服务器所属的工作组/域(相当于 Windows 的工作组)
server string = Samba Server # 服务器描述信息,显示在 "网络邻居" 中
netbios name = SERVERNAME # 指定 NetBIOS 名称(默认使用主机名)
security = user # user:需要用户名/密码(默认)、server:由另一台服务器验证、domain:加入 Windows 域、ads:加入 Active Directory 域
passdb backend = tdbsam # 用户数据库后端:tdbsam:Trivial数据库(小型网络)、ldapsam:LDAP后端、smbpasswd:旧式 smbpasswd 文件
encrypt passwords = yes # 启用密码加密(必须设为 yes)
interfaces = 192.168.1.100 # 指定监听的 IP
hosts allow = 192.168.1.100 # 允许访问的客户端 IP 范围
log file = /var/log/samba/log.%m # 日志文件路径(%m 表示客户端名)
max log size = 1000 # 日志最大大小(KB)
path = /home/share # 共享目录的路径
comment = My Shared Folder # 共享描述信息
browseable = yes # 是否在网络可见(yes/no)
guest ok = no # 是否允许匿名访问(等同于 public)
read only = no # 是否为只读共享(no 表示可写)
writable = yes # (是否可写,与 read only 相反)
valid users = user1,user2 # 允许访问的用户列表
invalid users = user3 # 禁止访问的用户列表
write list = @admin # 拥有写权限的用户/组(@表示组)
create mask = 0644 # 新建文件的默认权限
directory mask = 0755 # 新建目录的默认权限
force user = shareuser # 强制所有访问使用指定用户身份
force group = sharegroup # 强制所有访问使用指定组身份
[printers] # 用于配置打印机共享
printable = yes # 表示为打印机共享
printer name = hp # 打印机名称
printing = cups # 打印机系统类型 (通常为 cups)
[homes] # 自动为用户创建主目录共享
[print$] # 打印机驱动存储共享
[netlogon] # 域登录脚本共享(用于域控制器)
# 使用 testparm 命令查看配置文件是否正确,并重启服务载入配置文件和设置下次开机启动

# 创建要共享的目录和共享用户

# 给共享用户设置一个 samba 密码,即客户端访问服务端需要输入的密码,和用户登录密码没关系

# 服务端关闭防火墙和 SELinux(防火墙放行 samba 服务的流量且 /smbshare 目录打上 samba_share_t 的标签也可以)

# Linux 客户端访问 samba 服务端(可以用?查看支持的命令,因为配置文件中编辑了可写入文件操作,所以在这里也可以写入文件,如果不能写入,记得给 /smbshare 目录其他人赋予写的权限)

# Windows 客户端运行 cmd 访问 samba 服务端( Windows 中的路径以 '\' 作为分隔,访问的前提是 Windows 和 Linux 网络可达)

# 第一次登录需要输入用户名和密码,用户名这里是 share,密码是自己设置的 samba 密码
# 因为之前登录过,有缓存,所以在这里没提示输入登录账户和密码,所以,直接看登录后的效果, Windows 中写入操作不再举例


浙公网安备 33010602011771号