我正在尝试在 Ubuntu 22.04 和 Windows 11 之间共享一个文件夹。我尝试共享的文件夹是我的主目录内的公共文件夹。
我可以看到在 Ubuntu 中共享徽标(绿色共享)位于文件夹上,所以我相信它是共享的。
在 Windows 中,当我使用 \\192.168.0.139(这是我的 Linux IP 地址)时,会出现公共文件夹,但是当我尝试访问它时,出现错误,提示我没有权限访问该文件夹。
我使用了我的 Linux 用户名和密码,但没有成功。
我如何授予对我的 Ubuntu 文件夹的访问权限,以便我可以从 Windows 访问它并对其进行读/写、创建文件夹和删除文件?
编辑1
当我查看时/etc/samba/smb.conf
,我找不到任何用于共享公共文件夹的条目!
答案1
这个答案对我有用,但请注意,它不是在用户级别登录,而是更多的访客共享,允许我的网络上的所有人连接到我的共享。
在您的/etc/samba/smb.conf
文件中,[global]
您可能需要如下行:
[global]
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
netbios name = intrepid
passwd program = /usr/bin/passwd %u
panic action = /usr/share/samba/panic-action %d
follow symlinks = yes
wins support = true
unix extensions = no
client ntlmv2 auth = yes
server role = standalone server
os level = 20
workgroup = home
usershare owner only = false
server string = %h server (Samba, Ubuntu)
guest ok = yes
max log size = 1000
ntlm auth = no
log file = /var/log/samba/log.%m
preferred master = yes
printing = CUPS
map to guest = bad user
use sendfile = no
usershare allow guests = yes
acl allow execute always = true
pam password change = yes
unix password sync = yes
passdb backend = tdbsam
obey pam restrictions = yes
dns proxy = no
large readwrite = no
local master = yes
wide links = yes
access based share enum = yes
然后,在定义您的共享时,您将需要类似以下内容的内容:
[BACKUP]
path = "/home/terrance/Share"
directory mask = 0775
create mask = 0775
browseable = yes
writeable = yes
guest ok = yes
admin users = terrance
一切设置完成后,重新启动Samba服务器。
sudo systemctl restart smbd.service
答案2
当我查看 /etc/samba/smb.conf 时,我找不到任何用于共享公共文件夹的条目!
因为您在文件管理器(文件管理器)中创建了共享。这些共享列在其他地方。
请使用以下命令验证您是否创建了 Samba 所称的公共文件夹“用户共享”:
net usershare info --long
如果您创建此共享允许访客访问,它将不起作用,这并不是因为 samba,而是因为 Ubuntu 默认只让该用户可访问该用户的主目录。
一些解决方法:
通过编辑 /etc/samba/smb.conf 使来宾用户看起来像您,并在该workgroup = WORKGROUP
行下方添加以下内容,将 mans 替换为您的 Ubuntu 登录用户名:
force user = mans
然后重新启动 samba:
sudo service smbd restart
或者,您可以使用自己的 Ubuntu 用户名从 Windows 访问公共共享,但您必须告诉 samba 您是谁。您可以使用以下命令执行此操作:
sudo smbpasswd -a mans