无法让两台 Ubuntu 14.04 计算机通过 Samba 工作

无法让两台 Ubuntu 14.04 计算机通过 Samba 工作

首先,我使用 Samba,因为虽然主计算机是 Ubuntu 14.04,但我有 Windows 笔记本电脑。这些笔记本电脑应该可以读取主数据库。主数据库位于我的“服务器”上,它是一台 Ubuntu 机器。

我从一个问题转到另一个问题,但似乎无法解决。非常感谢您的帮助。

以下是要求:

-我想要共享/编辑的数据库位于其中一台 Ubuntu 机器上的 /home/valleysecurity/Documents/Shared/,我将称之为“服务器”。该文件夹中有文件夹和文件。所有其他 Ubuntu 机器我将其称为“客户端”。
- 在所有 Ubuntu 计算机上都有相同的用户,admin、valleysecurity 和 Technicalsupport。每个用户在每台计算机上都有相同的 SID 和密码。 - 只有这些用户可以编辑/更改/修改文件和文件夹。 - 创建新文档或文件夹时,它应具有与文件夹层次结构的其余部分相同的安全属性:用户 = {whoeverCreatedit},组 = valleygatehouse。 - 所有三个用户都定义在组“valleygatehouse”中。
- 所有计算机都在名为“valleygatehouse”的工作组中

当前问题:

从客户端,我可以看到 valleygatehouse 组,但是,当我单击该组时,系统会要求我输入密码。该要求已经填写了用户 ID,即我当前的用户。它不会接受密码并继续要求输入密码。我该如何解决这个问题?

注意:我很困惑是否要使用 Nautilus 的内置功能、Samba 用户界面,还是编辑 .conf 文件或其他什么。它们似乎各有千秋。此外,“当前”文档在命名约定方面也乱七八糟;例如,smbusers 与 users 分别包含用户,以及此文件是否应包含所有用户以及一些其他内容,还是仅包含一个用户?啊!

附言:我可以使用 Nautilus 将所有文件夹更改为允许 Samba 访客访问并允许“其他人”访问 RW,从而消除此问题。但这违反了安全要求。此外,当我在客户端上创建新文档时,其用户为“nobody”,其组为“nobody”。

那么,smb.conf 与任何事情有什么关系?

服务器smb.conf:


[global]

    workgroup = valleygatehouse
    server string = %h server (Samba, Ubuntu)
    server role = standalone server
    dns proxy = no
    name resolve order = lmhosts wins bcast host
    log file = /var/log/samba/log.%m
    max log size = 1000
    syslog = 0
    panic action = /usr/share/samba/panic-action %d
    encrypt passwords = no
;   passdb backend = tdbsam
;   obey pam restrictions = yes

# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
;   unix password sync = yes

# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Ian Kahan  for
# sending the correct chat script for the passwd program in Debian Sarge).
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

    guest account = nobody
;   username map = /etc/samba/smbusers


[Shared]
    comment = Valley Security documents
    path = /home/valleysecurity/Documents/Shared
    browseable = yes
    guest ok = yes
    available = yes
    writeable = yes
    read only = no
    username = valleysecurity,admin,technicalsupport
    create mask = 0775
    directory mask = 0775
[printers]
    comment = All Printers
    browseable = yes
    path = /var/spool/samba
    printable = yes
    guest ok = yes
    read only = no
    create mask = 0700
[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers
    browseable = yes
    writeable = yes
    read only = no

客户端 smb.conf


[global]
   workgroup = valleygatehouse
   server string = Samba Server
   server role = standalone server
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   dns proxy = no 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes
[printers]
    comment = All Printers
    browseable = yes
    path = /var/spool/samba
    printable = yes
    guest ok = yes
    read only = no
    create mask = 0700
[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers
    browseable = yes
    writeable = yes
    read only = no

答案1

尝试使用

valid users = valleysecurity,admin,technicalsupport

代替

username = valleysecurity,admin,technicalsupport

并确保已在“服务器”上创建用户/密码。

我运行的机器的配置与您的“服务器端”smb.conf 类似,但用户字段除外。希望对您有所帮助。

答案2

每次我在linux中搭建一个具有写权限的samba服务器时,我都会运行命令“smbpasswd ‘用户名’”将该用户添加到samba用户中,注意该用户应该首先在系统中。

相关内容