Доброе утро. Установлена 10.0-RELEASE FreeBSD, samba36-3.6.22. Выдержки из конфига smb.conf:
[global] private dir = /etc/config/samba/db/private
lock directory = /etc/config/samba/db
workgroup = test
netbios name = test-pdc
server string = TEST Server
security = user
encrypt passwords = yes
passdb backend = ldapsam:ldap://192.168.1.1
ldap suffix = dc=test,dc=local
ldap user suffix = ou=users
ldap group suffix = ou=groups
ldap machine suffix = ou=computers
ldap admin dn = «cn=admin,dc=local»
ldap delete dn = no
ldap passwd sync = yes
ldap ssl = off
logon script = scripts\1.vbs
#===== Share Definitions ===============
[filials]
path = /test/Filials
create mode = 777
directory mode = 777
guest ok = yes
public = yes
writable = yes
printable = no
browseable = yes
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0
[desktop]
create mode = 0600
directory mode = 700
path = /test/desktop/%u
browseable = no
guest ok = no
writeable = yes
[download]
path = /test/download/
public = yes
writable = yes
browseable = yes
hosts allow = 192.168.1.0/24
hosts deny = 0.0.0.0/0
Содержимое ls -l /test/download/:
drwx------ 3 user1 wheel 4 Mar 14 2014 user1
drwx------ 4 user2 wheel 45 Sep 16 15:17 user2
drwx------ 18 user3 wheel 79 Sep 12 18:07 user3
drwx------ 3 user4 wheel 53 Aug 21 15:19 user4
Папка desktop - аналогично.
ls -l /ruta/Filials/
drwxrwxrwx 2 www wheel 3 Aug 19 00:00 BRN
drwxrwxrwx 2 www wheel 3 Aug 20 00:00 CHL
drwxrwxrwx 2 www wheel 13 Sep 19 11:29 MSK
выдержка из скрипта 1.vbs (был написан ранее не мной):
set WshShell = CreateObject(«WScript.Shell»)
Set WshSysEnv = WshShell.Environment(«PROCESS»)
Set WSHNetwork = CreateObject(«WScript.Network»)
Set fso = CreateObject(«Scripting.FileSystemObject»)
if not FSO.DriveExists(«F:») Then
If fso.FolderExists(«\\TEST-PDC\filials\») Then
WSHNetwork.MapNetworkDrive «F:», «\\test-pdc\filials»,
true
End If
end if
if not FSO.DriveExists(«Z:») Then
WSHNetwork.MapNetworkDrive «Z:», «\\test-pdc\desktop», true
end if
if not FSO.DriveExists(«L:») Then
WSHNetwork.MapNetworkDrive «L:», «\\test-pdc\download», true
end if
WSHShell.RegWrite «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Desktop», «Z:\»
WSHShell.RegWrite «HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop», «Z:\»
Клиенты - windows 2008 (3 штуки), которые находятся в домене NT. Клиент (юзер из лдапа) соед-ся с вин-сервером, запускается скрипт vbs, которые монтирует сетевые каталоги (Filials, download - у всех общий; desktop - только папка пользователя) В папку Filials могут все писать, download - пользователи могут писать только в свою папку.
Проблема в следующем: периодически (по нескольку раз на дню) с виндовых машин нельзя попасть в папки download/{папка юзера}, на диск desktop - Permission denied. Не попасть и через пуск-вып-ть- \\test-pdc\download - аналогично доступ запрещен. В папку Filials всегда есть доступ. Но используя командную строку можно спокойно попасть на эти сетевые диски - net use; Z; mkdir bla-bla-bla и прочитать/записать данные
Если рестартануть samba, то в текущей сессии в винсервере появляется доступ ко всем этим каталогам. Проблема может наблюдаться и одного человека, а у другого нет; может у всех сразу. Ранее самба сервер размещался на другом сервере с более старой версией самбы - оттуда и были перенесены конфиги - работало все более-менее стабильно. Кто-нибудь подскажет как все это вылечить или придумать какой-нибудь костыль, чтобы так часто не рестартовать самбу. Мысли - или отредактировать конфиг самбы или посмотреть в сторону виндов - почему они не пускают именно через GUI.