Mat*_*ski 5 server permissions windows samba 14.04
我将大部分文件保存在 Samba 共享中的 Ubuntu 14.04 机器上,并从 Windows 7 客户端计算机访问它们。我让这一切都与 Ubuntu 11.10 一起工作,但在移动到 14.04 时以某种方式打破了这一点。服务器中有一个额外的间接层,通过greyhole(通过Samba 进行jbod 存储池),但它只是Samba 的一个插件,不会更改权限。
问题:
“Windows 无法访问 \\server\Software\Internet\WinApps\Multimedia\SetupProg.exe。您无权访问 \\server\Software\Internet\WinApps\Multimedia\SetupProg.exe。”
Windows 在 EXE 上看到以下权限:
Everyone: Read
root (Unix User\root): Read & Execute, Read, Write, Special
sambashare (Unix Group\sambashare): Read, Write
Run Code Online (Sandbox Code Playgroud)
我使用组“sambashare”作为所有通过 Samba 共享访问的用户的公共组。我设置了粘性位,如下所示:
drwsrwsr-x 31 root sambashare 12288 Apr 25 20:11 ../
Run Code Online (Sandbox Code Playgroud)
所以我一直得到 owner=root, group=sambashare。那里没有问题。
从服务器端看,我看到:
$ ls -l /mnt/lsi11/shares/Software/Internet/WinApps/Multimedia
lrwxrwxrwx 1 root sambashare 69 Apr 25 16:14 SetupProg.exe -> /mnt/lsi4/gh/Software/Internet/WinApps/Multimedia/SetupProg.exe
$ ls -l /mnt/lsi4/gh/Software/Internet/WinApps/Multimedia
-rwxrw-r-- 1 root sambashare 11800240 Apr 25 15:23 SetupProg.exe
Run Code Online (Sandbox Code Playgroud)
未设置组执行位。
查看 smb.conf 以获取我拥有的共享(包括来自@Terrance 的项目):
[Global]
wide links = yes
unix extensions = no
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
wins support = yes
dns proxy = no
name resolve order = lmhosts host wins bcast
log file = /var/log/samba/log.%m
max log size = 5000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = no
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
printing = bsd
printcap name = /dev/null
usershare allow guests = yes
follow symlinks = yes
ntlm auth = no
lanman auth = no
client ntlmv2 auth = yes
usershare owner only = no
[Software]
comment = Software files
browsable = yes
path = /mnt/lsi11/shares/Software
read only = no
valid users = user1 user2
guest ok = no
inherit owner = yes
inherit permissions = yes
dfree command = /usr/bin/greyhole-dfree
vfs objects = greyhole
Run Code Online (Sandbox Code Playgroud)
我能够从 Linux 手动设置执行位并修复现有文件。任何去哪里戳的建议都会有所帮助。
在[global]您的部分/etc/samba/smb.conf添加以下行:
[全球的] 仅用户共享所有者 = false unix 扩展 = 否 遵循符号链接 = 是 广泛的链接 = 是 ntlm 身份验证 = 否 lanman 身份验证 = 否 客户端 ntlmv2 auth = 是
此外,请检查 NTFS 分区在/etc/fstab文件中的安装方式。我不得不添加default 0 0到我的 NTFS 挂载的末尾,这样它就打开了所有文件的访问权限。我举了一个例子来说明我的坐骑情况。
UUID=0A485DBF485DAA69 /media/500GB ntfs 默认 0 0 UUID=6AAA4323AA42EB61 /media/SGUSB ntfs 默认 0 0
希望这会有所帮助。
编辑: 我完全忘记了这个仍然是开放的,我错过了一些东西。事实证明,这是一个错误,可以通过以下几行来修复:
解决方法: -- /etc/samba/local.conf [全球的] acl 允许始终执行 = True ——
可以在此处的错误报告中找到信息。
| 归档时间: |
|
| 查看次数: |
11518 次 |
| 最近记录: |