编辑1

编辑1

我正在尝试在 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

相关内容