我在使用内部应用程序时遇到了权限问题。此应用程序有一个可以拖放文件的区域。当您拖放文件时,它通常会将文件保存到共享文件夹中。
此共享文件夹是权限为 777 的公共文件夹,并且已授予允许的用户/组写入权限(通过写入列表指令)。这排除了 samba 权限问题。此外,该问题仅发生在一台计算机上,并影响该计算机上的所有用户(管理员帐户除外)。
我们所有的机器都在运行 BitDefender,我已对所有机器应用了相同的策略,但无济于事。我尝试禁用 BitDefender,但问题仍然存在。
我怀疑是 GPO 问题或该机器上的其他本地安全策略导致了此问题。
如果您还有其他建议,请告诉我。谢谢。
以下是 Samba 日志的片段:
[2015/09/30 11:46:56.105804,3] smbd/trans2.c:5255(call_trans2qfilepathinfo)
call_trans2qfilepathinfo。 (fnum = -1) level=1005 call=5 total_data=0 [2015/09/30 11:46:56.106228, 3] smbd/process.c:1662(process_smb)
事务 1377,长度 74(0 toread)[2015/09/30 11:46:56.106310, 3] smbd/process.c:1467(switch_message) 切换消息 SMBtrans2(pid 17947)conn 0x7f0ea23243e0 [2015/09/30 11:46:56.106351, 3] smbd/trans2.c:3507(call_trans2qfsinfo) call_trans2qfsinfo:level = 1007 [2015/09/30 11:46:56.106384, 3] smbd/trans2.c:2945(smbd_do_qfsinfo) smbd_do_qfsinfo:级别 = 1007 [2015/09/30 11:46:56.106454, 3] lib/sysquotas.c:435(sys_get_quota)
sys_get_vfs_quota() 对 mntpath[/] 失败 bdev[/dev/md0] qtype[2] id[9005]:参数无效 [2015/09/30 11:46:56.106518, 3] lib/sysquotas.c:435(sys_get_quota) sys_get_vfs_quota() 对 mntpath[/] 失败bdev[/dev/md0] qtype[4] id[100]: 参数无效 [2015/09/30 11:46:56.107545, 3] smbd/process.c:1662(process_smb)
事务 1378,长度 80(0 toread) [2015/09/30 11:46:56.107627, 3] smbd/process.c:1467(switch_message) 切换消息 SMBtrans2(pid 17947)conn 0x7f0ea23243e0 [2015/09/30 11:46:56.107668, 3] smbd/trans2.c:5111(call_trans2qfilepathinfo)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1004 [2015/09/30 11:46:56.107703, 3] smbd/vfs.c:905(check_reduced_name)
check_reduced_name [.] [/home/ngligoroski] [2015/09/30 11:46:56.107736, 3] smbd/vfs.c:1039(check_reduced_name)
check_reduced_name: . 简化为 /home/ngligoroski [2015/09/30 11:46:56.107775, 3] smbd/trans2.c:5255(call_trans2qfilepathinfo)
call_trans2qfilepathinfo . (fnum = -1) level=1004 call=5 total_data=0 [2015/09/30 11:46:56.108073, 3] smbd/process.c:1662(process_smb)
事务 1379,长度 80(0 toread)[2015/09/30 11:46:56.108155, 3] smbd/process.c:1467(switch_message) 切换消息 SMBtrans2(pid 17947)conn 0x7f0ea23243e0 [2015/09/30 11:46:56.108196, 3] smbd/trans2.c:5111(call_trans2qfilepathinfo)
call_trans2qfilepathinfo: TRANSACT2_QPATHINFO: level = 1005 [2015/09/30 11:46:56.108231, 3] smbd/vfs.c:905(check_reduced_name)
check_reduced_name [.] [/home/ngligoroski] [2015/09/30 11:46:56.108264, 3] smbd/vfs.c:1039(check_reduced_name)
check_reduced_name: . 简化为 /home/ngligoroski [2015/09/30 11:46:56.108302, 3] smbd/trans2.c:5255(call_trans2qfilepathinfo)
call_trans2qfilepathinfo . (fnum = -1) 级别=1005 调用=5 total_data=0 [2015/09/30 11:46:56.108716,3] smbd/process.c:1662(process_smb)
事务 1380,长度 74(0 个读取)[2015/09/30 11:46:56.108797, 3] smbd/process.c:1467(switch_message) 切换消息 SMBtrans2(pid 17947)conn 0x7f0ea23243e0 [2015/09/30 11:46:56.108839, 3] smbd/trans2.c:3507(call_trans2qfsinfo) call_trans2qfsinfo:级别 = 1007 [2015/09/30 11:46:56.108872, 3] smbd/trans2.c:2945(smbd_do_qfsinfo) smbd_do_qfsinfo:级别 = 1007 [2015/09/30 11:46:56.108945, 3] lib/sysquotas.c:435(sys_get_quota)
sys_get_vfs_quota() 因 mntpath[/] bdev[/dev/md0] qtype[2] id[9005] 而失败:参数无效 [2015/09/30 11:46:56.109013, 3] lib/sysquotas.c:435(sys_get_quota) sys_get_vfs_quota() 因 mntpath[/] bdev[/dev/md0] qtype[4] id[100] 而失败:参数无效
答案1
首先检查服务器上的 Samba 日志,查看尝试访问文件夹时的权限,以开始故障排除。在 Linux 上可能是 777,但 Samba 可能无法正确转换它。
你应该得到类似这样的结果:
192.168.80.29 (ipv4:192.168.80.29:49475) 最初以用户 domain\koullislp (uid=143999, gid=140999) (pid 17799) 的身份连接到服务 sharedisk
domain\koullislp 打开文件 /path/to/your/files 读取=是 写入=是 (numopen=5)
然后确保你的 samba 配置正确。例如:
[smbtest] comment = samba test workspace
path = /sambashare/smbtest
valid users = @g-staff
force group = g-staff
browseable = yes
writeable = yes
read only = no
guest ok = no directory mask = 2770
force directory mode = 2770
create mask = 2775 force
create mode = 2775