Debian 上的 Samba 共享:可以从 Windows 中查看文件,但无法写入文件

Debian 上的 Samba 共享:可以从 Windows 中查看文件,但无法写入文件

我正在尝试为只有我可以访问的计算机设置 samba 共享。我需要从我的 Windows 机器完全访问这台计算机。我是唯一使用这两台机器的人,并且我需要对共享的完全读/写访问权限。

到目前为止我已经尝试过了,我可以从我的 Windows 机器上看到文件夹/文件,但我无法编辑任何文件。

我的代码将在 Linux 机器上,我将使用我的 Windows 笔记本电脑在其上编码。

  1. 我的 Windows 用户名就是我的电子邮件,我们就这样称呼它吧[电子邮件受保护]
  2. 没有工作组(它只是 WORKGROUP)。
  3. 我的linux安装用户是“专家”(讽刺的是,我知道)
  4. 我正在使用 Debian 9(延伸版)。今天刚从 debian-9.4.0-amd64-netinst.iso 安装。用过KDE。

这是我的 smb.conf(注释已删除,打印部分已删除)

[global]
;   wins server = w.x.y.z
;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user

########## Domains ###########
;   logon path = \\%N\profiles\%U
;   logon drive = H:
;   logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g

############ Misc ############
;   include = /home/samba/etc/smb.conf.%m
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash
;   usershare max shares = 100
   usershare allow guests = yes

#======================= Share Definitions =======================

[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S

[Share]
   comment = Full Access Share
   path = /home/expert/Projects/expert
   browseable = yes
   writable = yes
   public = yes
   guest ok = yes
   read only = no
   create mask = 0777
   directory mask = 0777
   write list = 0777
   valid users = nobody, admin, expert, anonymous, [email protected]

当我ls -ld .对我想要完全访问的文件夹执行操作时,我得到:

drwxrwxrwx 3 expert expert 4096 <date time> .

我认为通过将创建、目录掩码和写入列表指定为 0777,我可以完全控制 Samba。

最后一行(有效用户)只是我在黑暗中的一枪(不起作用)

答案1

有几件事可能有助于回答您的问题。

你是如何安装桑巴的?来自回购?它是什么版本?samba --version

您使用什么 Windows?可以从linux连接吗?

您可能需要一次解决几个问题。使用最少的配置条目设置 samba。请注意您的 samba 版本的默认值。在工作安装的基础上构建。

连接到 SMB 共享时,Windows 可能会发送您的登录用户名、来宾、无用户名或其他用户名。

确定哪些信息从 Windows 传递到 Linux samba。

smbclient //host/share -U username在深入研究 Windows 发送的内容之前,您可以从 Linux 命令行检查您的 samba 用户设置。

这些用户是否在密码后端?

valid users = nobody, admin, expert, anonymous, [email protected]

passdb backend = tdbsam

创建本地用户帐户

pdbedit——管理 SAM 数据库

更改后不要忘记重新启动 samba 服务器位smb.conf...

sudo service smbd restart

sudo service nmbd restart

可能想要从一个广泛开放的共享设置开始,然后在此基础上进行构建。

[global]
    server string = This is: %h. Welcome.
    workgroup = workgroup
    netbios name = hostname
    encrypt passwords = yes

    ## permissions
    server role = standalone
    security = user
    null passwords = yes
    map to guest = Bad Password
    guest ok = yes
    guest account = nobody

    # debug Adjust for trouble shooting
    log level = 2

# the IPC$ connection that lists the shares is done as guest and so you must have a valid guest account.
[IPC$]
    path = /tmp

[lookie]
    comment = open share on %h
    path = /samba/share/lookie
    # all files copied to this share have full r/w to all
    create mask = 0777
    delete readonly = yes
    ## This user must have read/write to the share directory
    ## May require R/W for the full path up to the share. Check.
    force user = expert
    read only = No
    browseable = yes

相关内容