先交代一下实验环境:操作系统为 Windows XP SP3,IP 地址为 192.168.1.10;虚拟机上安装了 Fedora 8-i386,IP 地址为 192.168.1.12。接下来将逐步完成 Samba 的配置流程。
1. 检查 Samba 是否已安装
只需一条命令即可完成检查:
[root@cisco samba]# rpm -qa | grep smb
如果输出以下三行内容,说明 Samba 已经成功安装:
|
libsmbios-libs-0.13.10-1.fc8 libsmbios-bin-0.13.10-1.fc8 pam_smb-1.1.7-7.2.2 |
若未安装,则需要从 Fedora 8 的安装光盘中获取软件包。首先挂载光盘:
[root@cisco /]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@cisco /]# cd /mnt/cdrom/
[root@cisco cdrom]# ls
可以看到大量文件,随后进入 Packages 目录执行安装:
[root@cisco cdrom]# cd Packages/
[root@cisco Packages]# rpm -ivh -aid smb*
这样即可完成安装。
2. 进入 Samba 配置目录
安装完成后,切换到 Samba 的主目录:
[root@cisco /]# cd /etc/samba/
[root@cisco samba]# ls
你将看到以下几个文件:lmhosts、smb.conf、smbpasswd、smbusers。其中 smb.conf 是核心配置文件。需要注意的是,smbpasswd 文件用于存储用户账号及其经过 MD5 加密的密码,刚安装 Samba 时该文件并不存在,需要后续手动创建,后面会详细介绍。
3. 编辑 smb.conf
使用 vi 编辑器打开配置文件:
[root@cisco samba]# vi smb.conf
接下来进行通用配置,具体内容如下:
|
#=============== Global Settings =========================== [global] workgroup = MSHOME //指定 Linux 加入的工作组名称,这里设置为 MSHOME 工作组。 server string = Samba //服务器的描述信息,用于标识资源,可自定义输入。 encrypt passwords = yes //是否对用户密码进行加密,这里选择加密,更安全! public = yes //定义共享是否对公共访问开放。设为 yes 时,系统上无帐户的用户将根据所定义的客户帐户属性获得访问权限。 smb passwd file = /etc/samba/smbpasswd //账号密码的存储文件路径 netbios name = mm's samba //外部访问该 Samba 服务器时显示的名称 # --------------------------- Logging Options ----------------------------- # logs split per machine log file = /var/log/samba/log.%m //日志文件的存放位置 # max 50KB per log file, then rotate max log size = 0 //日志文件大小限制,设置为 0 表示不限制 # ----------------------- Standalone Server Options ------------------------ security = user //共享的安全级别,Samba 支持四种安全等级: //user:由提供服务的 Samba 服务器负责检查账户及密码(默认) //share:用户无需账户及密码即可登录 Samba 服务器 //server:账户及密码的检查工作由另一台 Windows 或 Samba 服务器负责 //domain:指定 Windows 域控制器来验证用户的账户及密码 passdb backend = tdbsam |
以上为通用配置部分。假设我们要共享 /opt/ 目录,则需要在配置文件末尾添加如下共享定义:
|
[rose] comment = This is my samba server! 设置共享信息,可自定义输入 path = /opt 共享目录路径 valid users = testuser 允许访问该共享目录的用户,此处设为 testuser public = yes 含义同上 writable = yes 用户是否可写,这里我们允许写入 |
修改完成后保存并退出:wq!
4. 启动 SMB 服务
配置完毕,接下来启动服务:
[root@cisco samba]# service smb start
Starting SMB services: [ OK ]
[root@cisco samba]# service nmb start
Starting NMB services: [ OK ]
这样 Samba 服务器就已经成功启动。别忘了还需要添加系统用户和 Samba 用户,并设置密码,才能让 testuser 正常访问共享目录。这部分操作同样重要,我们将在下篇文章中继续讲解。
