一、Ubuntu 部署 Samba
1、安装 Samba
# 更新本地软件包列表
sudo apt update
# 安装Samba
sudo apt install samba
# 查看版本
smbd --version
2、创建共享文件夹,并配置 Samba
- 创建需要共享的文件夹,并赋予权限:
sudo mkdir /home/test
sudo chmod 777 /home/test
- 备份 Samba 的配置文件:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
- 然后编辑 Samba 配置文件:
sudo nano /etc/samba/smb.conf
- 在配置文件末尾中添加你需要共享的文件夹配置,例如:
# 指定用户访问
[share]
path = /home/test
browseable = yes
writable = yes
valid users = newuser
create mask = 0777
directory mask = 0777
详细配置请查看第三项smb.conf配置介绍
3、系统账号与 Samba 账号关联(密码请保持一致)
# 创建系统账号,使用 adduser 命令可以创建新用户并指定其家目录
sudo adduser --home /home/newuserdir newuser
# 赋予管理员权限(将新用户添加到 sudo 组)可选
sudo usermod -aG sudo newuser
# 系统账号与 Samba 账号进行关联
sudo smbpasswd -a newuser
4、重启 Samba 服务
- 配置完成后,重启 Samba 服务使更改生效
sudo systemctl restart smbd
5、防火墙设置
- 如果有防火墙正在运行,需要允许 Samba 服务通过防火墙
sudo ufw allow samba
二、CentOS 7 部署 Samba
有时间更新!
三、smb.conf 配置介绍
参数 | 说明 |
---|---|
[share] | 共享文件夹的名称 |
path | 共享文件夹的路径 |
comment | 对共享文件夹的描述或注释 |
browseable | 表示该共享是否在网络上可见(yes 或 no) |
writable | 表示用户是否可以对共享文件夹进行写操作(yes 或 no) |
guest ok | 允许客户端以匿名身份访问共享(yes 或 no) |
valid users | 指定有权限访问该共享的用户 |
invalid users | 指定被禁止访问共享的用户 |
read only | 设置共享为只读模式(yes 或 no) |
hosts allow | 控制允许连接的主机(例如:hosts allow = 192.168.100.15) |
hosts deny | 控制拒绝连接的主机(例如:hosts deny = 192.168.100.15) |
create mask | 设置新创建文件的默认权限掩码 |
directory mask | 设置新创建目录的默认权限掩码 |
force create mode | 强制指定新创建文件的权限模式 |
force directory mode | 强制指定新创建目录的权限模式 |
- 示例:
# 匿名访问,有读写权限
[share]
path = /home/test
browseable = yes
writable = yes
guest ok = yes
create mask = 0755
directory mask = 0755
comment = explanatory note
# 匿名访问,只有读权限
[share]
path = /home/test
browseable = yes
read only = yes
guest ok = yes
create mask = 0755
directory mask = 0755
# 指定用户访问
[share]
path = /home/test
browseable = yes
writable = yes
valid users = newuser
create mask = 0755
directory mask = 0755
# 指定用户和IP访问
[share]
path = /home/test
browseable = yes
writable = yes
valid users = newuser
create mask = 0755
directory mask = 0755
hosts allow = 192.168.100.17
- 说明:如操作共享文件或文件夹时无权限,前先检查配置文件是否正确,再检查系统下文件是否有权限操作
四、解决Windows匿名无法访问共享文件夹方法
1、Windows + R键,打开运行,输入 gpedit.msc ,打开本地组策略编辑器
2、管理模板 - 网络 - Lanman工作站,双击启用不安全的来宾登录
3、选择已启用,点击应用、确定