配置 Samba 共享
Samba 的配置通常位于 /etc/samba/smb.conf 中,其中包含与 samba 相关的所有配置参数。
按照下面给出的步骤配置 samba 共享。
- 为了让特定用户可以访问共享,我们必须首先在共享所在的 linux 服务器上创建一个用户 (john)。
# useradd john
# passwd john Changing password for user john. New password: Retype new password: passwd: all authentication tokens updated successfully.
- 要添加激活 Samba 用户并设置密码,请使用带有 -a 选项的“smbpasswd”命令。
# smbpasswd -a john
- 创建要共享的目录,或者我们可以使用现有目录。
还要对目录设置完全权限。
# mkdir -p /path/to/share # chmod -R 777 /path/to/share
- 接下来,在共享上设置 SElinux 上下文。
验证我们是否可以在共享中创建文件。
# chcon -R -t samba_share_t /path/to/share # cd /path/to/share # echo test > testfile.txt
- 编辑/etc/samba/smb.conf 文件并添加共享设置。
# vi /etc/samba/smb.conf [share_name] path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
重启samba服务使上述设置生效。
# service smb restart
故障排除
要找出 samba 共享的问题,我们可以尝试禁用 iptables 服务并关闭 SELinux。
确保在解决冲突后重新启用它们。
# service iptables stop # setenforce 0
使用 testparm 验证 samba 参数
要验证 smb.conf 文件中的参数是否正确或者调试配置问题,请使用 testparm 命令。
samba日志
对于一般的 Samba 调试问题,/var/log/samba 目录下的日志文件 log.smbd 和 log.nmbd 非常有用。
smb.conf 文件全局部分中的参数日志级别决定了 Samba 写入日志文件的详细信息量,级别 0 是最通用的,而级别 10 是最详细的。
除了它下面的日志消息之外,每个日志级别都包含来自该级别的消息。
例如,日志级别 5 包含来自级别 5 的消息以及级别 0 到 4 的消息。
# vi /etc/samba/smb.conf # this tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/%m.log debuglevel = 4
什么是 Samba
为了提供打印机和文件共享,Microsoft Windows 使用称为 SMB(服务器消息块)的工具。
这个相同的工具有时被称为 NetBIOS 或者 LanManager。
感谢 Andrew Tridgell 和其他人,Linux 系统通过称为 Samba 的包为 SMB 提供支持。
与 SMB 一样,Samba 允许我们:
- 在 Microsoft Windows、OS/2. Netware 和 Unix 系统之间共享打印机和文件
- 建立一个简单的名称服务器来识别局域网上的系统
- 将 PC 文件备份到 Linux 系统并恢复它们
- 管理用户和密码
Samba 已在许多组织中证明了其可靠性和高性能。
企业 Linux 上的 Samba 软件套件是一组程序,用于为 UNIX 系统实现服务器消息块(通常缩写为 SMB)协议。
安装 Samba
在 Enterprise Linux 系统中,安装以下软件包以开始使用 Samba。
我们可以使用“yum install”命令从 yum 服务器下载/安装这些软件包。
samba #### basic Samba packages samba-client #### samba client
要安装这些软件包:
# yum install samba # yum install samba-client
如果我们使用的是活动目录设置,也请安装以下软件包。
# yum install samba-winbind # yum install samba-winbind-clients # yum install samba-winbind-krb5-locator
以下是安装上述软件包后将安装的软件包列表。
samba-libs samba-winbind-krb5-locator samba-winbind-modules samba-vfs-glusterfs samba-winbind samba-client samba-common samba-winbind-clients samba