1. 概述
Samba是一个实现SMB/CIFS协议的自由软件。SMB(Server Message Block)是微软Winows网络文件系统使用的协议。
Samba的3.x版本不仅可以为微软Windows客户端提供文件和打印机共享服务,还可以与Windows域集成,作为主域控制器(PDC, Primary Domain Controller)或者作为域的成员。它也可以与活动目录域整合。Samba可以运行在大部分的Unix和类Unix操作系统上,比如Linux、Solaris、各种BSD等,包括苹果的Mac OS X服务器。
2. 安装
aptitude install samba
在安装过程中会提示输入工作组,输入你所需要的工作组的名字即可。
安装完成后,服务默认已经开启。假设服务器地址是169.254.235.235,在Windows客户机上的地址栏中输入如下地址即可访问:
\\169.254.235.235\
如果客户端是Linux,并且运行gnome,则只要在地址栏中输入如下地址即可:
smb://169.254.235.235/
3. 配置
3.1. 帐号设置
如果要为samba添加新的登录帐号,首先要使用命令adduser创建新的系统帐号,比如要添加帐号jack:
adduser jack
然后提示输入密码等一系列信息后,就会创建名为jack的系统帐号。然后要用
smbpasswd -a jack
创建同名的samba帐号,才能够用作samba登录帐号。
需要重新设置某个帐号的密码,比如设置czk帐号的密码,可以使用:
smbpasswd czk
如果要让用户无须登录就可以访问,则需要开启guest帐号。修改/etc/samba/smb.conf,在其中的[global]部分添加如下两行:
map to guest = Bad User guest account = jack
第二行中的jack为客户端用guest登录时,服务器端所使用的帐号。
修改配置后,需要用如下命令重新加载设置
/etc/init.d/samba reload
3.2. 共享目录设置
比如,要将目录/music设置为共享,共享名为music,可以在/etc/samba/smb.conf文件的末尾添加:
[music]
path = /music
guest ok = yes
writable = no其中guest ok指定guest帐号可否访问,writable指定该共享是否可写。
如果要设置某个共享是可写的,除了将上述writable参数改为yes外,还要将服务器上的目录的权限设置成对于登录用户是可以写的。比如,要让上述共享对于guest帐号是可以写的(guest被映射为jack),则需要
chown jack /music chmod 755 /music
3.3. 跨越防火墙共享
在广域网路由器和很多大型局域网的路由器上,为了防止病毒的传播,都会禁止samba协议所使用的端口137、138、139、445的通过。但是这也给文件共享带来了不便。为了能够通过这些防火墙进行文件共享,可以修改共享所使用的端口号,来绕过防火墙。