首先,我使用 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用户中,注意该用户应该首先在系统中。