![如何在 ubuntu 服务器上的 samba 中为 windows 用户添加权限](https://linux22.com/image/727539/%E5%A6%82%E4%BD%95%E5%9C%A8%20ubuntu%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%20samba%20%E4%B8%AD%E4%B8%BA%20windows%20%E7%94%A8%E6%88%B7%E6%B7%BB%E5%8A%A0%E6%9D%83%E9%99%90.png)
我在 ubuntu 服务器中为我的 Windows 计算机配置了这个 Samba 网络驱动器,我想让它可以读取/写入,但其他用户无法读取或写入网络驱动器。我该如何编辑 smb.conf 才能做到这一点?这是我目前的 smb.conf:
[share]
comment = Ubuntu File Server Share
path = /srv/samba/share
browsable = yes
guest ok = yes
read only = no
create mask = 0755
答案1
详细来说:
首先,如果您还没有创建 Samba 用户,请创建一个:
useradd sambauser
smbpasswd -a sambauser
输入并确认 的密码sambauser
。
将该部分更改/etc/samba/smb.conf
为:
[share]
comment = Ubuntu File Server Share
path = /srv/samba/share
valid users = sambauser
browsable = yes
writable = yes
write list = sambauser
create mask = 0755
确保目录以及其中的所有内容都具有适当的所有权和权限:
chown -R sambauser:sambauser /srv/samba/share
chmod -R 755 /srv/samba/share
如果已启用,请确保已允许此命令samba
通过。如果未启用,则可以跳过此部分:selinux
selinux
chcon -R -t samba_share_t /srv/samba/share
最后,确保samba
防火墙上的端口已打开。
firewall-cmd --permanent --zone=public --add-port=445/tcp
firewall-cmd --permanent --zone=public --add-port=139/tcp
firewall-cmd --reload
systemctl restart firewalld
如果使用 iptables:
iptables -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables-save
iptables-restore
重新启动 samba 服务,然后使用 的凭据登录sambauser
。
答案2
关闭访客权限并使用拥有该文件夹的 SAMBA 机器的所有者凭据登录共享驱动器。