Samba 是一款开源软件,它使得Linux和Unix系统能够与Microsoft Windows网络无缝集成,提供文件和打印机共享服务。在Ubuntu 13.04系统中,搭建Samba服务器可以让Linux主机与Windows设备之间实现资源共享。以下是详细的步骤和知识点:
1. **Samba软件包的安装**
在Ubuntu 13.04中,Samba服务并未预装。要安装Samba,需要使用`apt-get`命令来获取并安装必要的软件包:
```bash
sudo apt-get install samba
sudo apt-get install smbclient
```
`samba`包包含了Samba服务器,而`smbclient`则是用于与Samba服务器交互的命令行工具。
2. **Samba服务器的启动与关闭**
- 启动Samba服务器:
```bash
sudo /etc/init.d/smbd start
```
- 检查Samba服务进程:
```bash
ps -aux | grep smbd
```
- `smbd`进程处理文件共享,`nmbd`进程则处理NetBIOS名称解析。
- 关闭Samba服务:
```bash
sudo /etc/init.d/samba stop
```
- 或者,仅关闭`smbd`进程:
```bash
smbcontrol smbd shutdown
```
- 重启Samba服务器:
```bash
sudo /etc/init.d/smbd restart
```
3. **配置Samba服务**
Samba的核心配置文件是`/etc/samba/smb.conf`。配置文件分为全局设置和共享设置两部分。
- **全局设置**(Global Settings)
- 工作组配置:`workgroup = MSHOME`
- 服务器标识:`server string = %h server (Samba, Ubuntu)`
- 日志文件位置:`log file = /var/log/samba/log.%m`
- 最大日志文件大小:`max log size = 1000`
- **共享设置**(Shares)
- 创建共享目录,例如:`mkdir /home/share`
- 编辑`/etc/samba/smb.conf`,添加共享配置:
```conf
[share]
comment = this is Linux share directory
path = /home/share
public = yes
writable = yes
```
- **匿名访问**
若要允许Windows用户无需密码访问共享目录,可以将`security`设置为`share`,并确保`public=yes`。
4. **访问共享目录**
在Windows中,可以通过运行窗口输入`\\192.168.0.10\share`来访问共享目录。这里的`192.168.0.10`是Linux主机的IP地址,`share`是配置文件中定义的共享名。
5. **安全与权限**
- 默认情况下,Samba使用用户级别的安全性,这意味着访问共享的用户需要有相应的Linux账户和权限。在`security=user`模式下,用户必须提供有效的用户名和密码才能访问。
- 如果共享目录需要可写权限,确保Linux上的用户也有相应的写权限,这通常涉及修改目录的`chmod`和`chown`设置。
6. **网络与NetBIOS**
- NetBIOS名称是Windows系统中的主机识别名,不同于主机名。在Linux上,NetBIOS名称与主机名的关系可以配置在`/etc/samba/lmhosts`文件中。
- 可以通过Windows的“我的电脑”属性来查看或更改NetBIOS名称。
7. **日志与调试**
- Samba的日志文件位于`/var/log/samba/log.%m`,`%m`代表登录主机的NetBIOS名称,这对于诊断和调试非常有用。
8. **服务管理**
Ubuntu 13.04之后的版本推荐使用`systemd`来管理服务,因此也可以使用`systemctl`命令来控制Samba服务:
```bash
sudo systemctl start smbd
sudo systemctl stop smbd
sudo systemctl restart smbd
sudo systemctl status smbd
```
通过以上步骤,你可以在Ubuntu 13.04上成功搭建并配置Samba服务器,实现与Windows系统的文件共享。记得在进行任何更改后重启Samba服务,以使新配置生效。