在Ubuntu系统中设置SMB(Server Message Block)功能,允许与其他操作系统(如Windows、macOS)共享文件和打印机资源,是一项常见且实用的配置。以下是详细的步骤指导,旨在帮助您高效且安全地部署SMB共享服务。
1. 安装Samba套件
首先,确保您的系统软件包列表是最新的,并安装Samba相关的软件包。打开终端,执行以下命令:
sudo apt update
sudo apt install samba samba-common-bin
2. 配置Samba
Samba的主配置文件是 /etc/samba/smb.conf
。在编辑之前,建议备份原有配置文件:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
接着,使用文本编辑器(如nano或vim)编辑 smb.conf
文件:
sudo nano /etc/samba/smb.conf
在文件末尾添加一个新的共享段落,定义您的共享目录。例如,创建名为 shared
的共享目录:
[shared]comment = Ubuntu Shared Folderpath = /path/to/your/shared/folderbrowseable = yesread only = noguest ok = nocreate mask = 0644directory mask = 0755force user = your_username
comment
: 描述共享的简短注释。path
: 共享目录的绝对路径。browseable
: 是否允许在网络浏览器中显示。read only
: 设置为no
允许写入,yes
则只读。guest ok
: 设置为no
要求用户认证,yes
则允许匿名访问。create mask
和directory mask
: 控制新创建文件和目录的权限。force user
: 所有操作将以指定用户的身份执行,增强安全性。
3. 设置Samba用户账户
为了安全起见,建议为Samba创建单独的用户账户,而不是使用系统账户。首先,创建一个系统用户(如果尚未存在):
sudo useradd -m your_samba_user
sudo passwd your_samba_user
然后,使用 smbpasswd
命令为Samba添加用户并设置密码:
sudo smbpasswd -a your_samba_user
按照提示设置Samba密码,这可以与系统密码不同。
4. 启动并启用SMB服务
重启Samba服务使配置生效,并设置开机启动:
sudo systemctl restart smbd
sudo systemctl enable smbd
5. 防火墙配置
如果您使用的是UFW(Uncomplicated Firewall),需要允许SMB相关的端口(通常是TCP 139和445):
sudo ufw allow proto tcp from any to any port 139,445
6. 测试共享
在另一台机器上,尝试访问共享目录。对于Windows,打开文件资源管理器,输入 \your_ubuntu_ip\shared
(替换 your_ubuntu_ip
为Ubuntu的IP地址),并使用之前创建的Samba用户名和密码登录。