DenyMode / Oplock

1. DenyMode / Oplock

Bruno Seabra
percezione

(usa Debian)

Enviado em 28/04/2011 - 11:24h

Bom dia a todos!

Tô o seguinte problema aqui na minha rede:

Os usuários quando tentam copiar arquivos .doc nas suas pastas compartilhadas samba (através do Windows XP) dá erro na cópia do arquivo (rede inacessivel) mas o arquivo acaba aparecendo dentro do servidor. Só que ao tentar abrir este .doc o Windows XP informa que o arquivo já está em uso, não permitindo nem a abertura no modo somente leitura. Ao tentar excluir o arquivo também diz que já está em uso. Quando digito smbstatus os arquivos que estão "travados" aparecem em Locked Files:

--------------------------------------------------------------------------------------------------
30478 1490 DENY_ALL 0x30196 WRONLY NONE /home/xx.doc Thu Apr 28 10:19:56 2011
31136 1013 DENY_NONE 0x100081 RDONLY NONE /home/. Thu Apr 28 10:06:45 2011
31136 1013 DENY_ALL 0x30196 WRONLY NONE /home/SOLO.doc Thu Apr 28 10:06:51 2011
30380 1039 DENY_NONE 0x100081 RDONLY NONE /home/REFERENCIA Thu Apr 28 10:15:56 2011
31136 1013 DENY_NONE 0x100081 RDONLY NONE /home/PROCESSOS Thu Apr 28 10:06:48 2011
31896 1490 DENY_NONE 0x100081 RDONLY NONE /home/Diversos Thu Apr 28 10:46:21 2011
31896 1490 DENY_ALL 0x30196 WRONLY NONE /home/REVISAO.doc Thu Apr 28 10:46:26 2011
30380 1039 DENY_WRITE 0x2019f RDWR NONE /home/MANDIOCA.doc Thu Apr 28 10:13:15 2011
30370 1490 DENY_ALL 0x30196 WRONLY NONE /home/REVISAO.doc Thu Apr 28 09:37:50 2011
31896 1490 DENY_WRITE 0x2019f RDWR NONE /home/SEMENTES.doc Thu Apr 28 10:41:14 2011
30380 1039 DENY_ALL 0x30196 WRONLY EXCLUSIVE+BATCH /home/DE891FB2.tmp Thu Apr 28 10:32:11 2011


Por que eles ficam como DENY_ALL? Eu só consigo excluir esses arquivos diretamente pelo servidor ou então dando kill no processo do usuário que está tentando salvar o arquivo. As vezes eu altero o nome do mesmo arquivo e ele consegue salvar, abrir normalmente. É intermitente, mas geralmente acontece com nomes de arquivos grandes (alterei os nomes dos arquivos na tela acima).

Segue meu smb.conf

# Parâmetros Globais
[global]

# Dominio, Nome e Descricao
workgroup = xxx.xxx

; realm = xxx.xxx
netbios name = dados
server string = servidor de dados

; admin users =
# Disponibilizar impressora no Linux para Windows
printcap name = no
load printers = no
; printing = none
# printcap cache time, so samba will automatically load new cups printers
# printcap cache time = 60

# Nao mostrar no servidor o Wizard "Adicionar Impressora"
# show add printer wizard = No

# Quais interfaces de rede utilizar
## interfaces = lo, eth0
## bind interfaces only = Yes

# Nivel de Mensagens
log level = 2
log file = /var/log/samba/%m.log
max log size = 0
debug level = 2
syslog = 0

# Atuar como um PDC
local master = yes
security = user
domain logons = yes
ldap ssl= no
preferred master = yes
domain master = yes
os level = 255

# Tratamento das senhas
encrypt passwords = true

lanman auth = Yes
ntlm auth = Yes
# client NTLMv2 auth = No
client lanman auth = Yes
client plaintext auth = Yes
# Equivalencia de usuarios Windows X Linux
username map = /etc/samba/smbusers

# Evitar o perfil ambulante do Windows NT/XP
logon path =
logon drive = U:
# logon home =

# Script de logon em rede (deve ficar no compartilhamento netlogon - em formato DOS)
logon script = intra.bat

# Configuracoes para o LDAP
passdb backend = ldapsam:ldap://127.0.0.1
ldap passwd sync = yes
ldap delete dn = Yes
ldap admin dn = cn=admin,dc=xxx,dc=xxx
ldap suffix = ou=xxx,dc=xxx,dc=xxx
# ldap machine suffix = ou=Computers
# ldap user suffix = ou=Users
# ldap group suffix = ou=Groups
ldap machine suffix = ou=Computadores
ldap user suffix = ou=Usuarios
ldap group suffix = ou=Grupos
ldap idmap suffix = sambaDomainName=xxx.xxx
idmap backend = ldap://127.0.0.1
idmap uid = 10000-20000
idmap gid = 10000-20000
# Permitir que usuarios do grupo "Administradores do Dominio" possam ingressar maquinas
# WinXP/Win2000 ao dominio samba
# to the domain
enable privileges = yes

# Scrips utilizados para Gerenciar Usuários da M$
# adiconar/remover Usuarios
add user script = /usr/sbin/smbldap-useradd -m "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
# adiconar/remover Grupos
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
# Scripts para adiconar/remover Usuarios nos Grupos
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
# Script para definir o grupo primario do usuario
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
# Script par adicionar maquina Win NT/XP ingressar no Dominio
add machine script = /usr/sbin/smbldap-useradd -w "%u"

# Otimizacoes recomendadas em
smb ports = 445 139
name resolve order = host wins lmhosts bcast
utmp = Yes
time server = Yes
template shell = /bin/false
winbind use default domain = no
map acl inherit = Yes
strict locking = Yes

# Como o cliente ira' se comunicar com o servidor
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

interfaces = eth0 xxx.xxx.xxx.xxx lo 127.0.0.1
; 192.168.1.3 192.168.1.47

hosts allow = xxx.xxx. 127.0.0.1

;; remote announce = xxx.xxx.xxx.xxx/xxx.xxx

;; remote browse sync = xxx.xxx.xxx.xxx xxx.xxx.xxx.xxx

# Servidor Wins da Rede
# Quando já tiver um servidor Wins na rede
# descomente a linha abaixo e acerte o IP do Wins
# wins server = 192.168.1.4
# Quando ainda não tiver um servidor Wins na rede
# descomente a linha abaixo
wins support = Yes


# Ativar a internacionalizacao: permitir caracteres acentuados pelo Windows
dos charset = CP850
unix charset = ISO-8859-1
case sensitive = no
# Nao tentar fazer um lock nestes arquivos
veto files = /*.eml/*.nws/*.{*}/
veto oplock files = /*.doc/*.xls/*.mdb/

; oplocks = no
; level2 oplocks = no



# Tratar os arquivos que comecam com "." como ocultos para maquinas Windows
hidedotfiles = yes

# Simular a Lixeira do Windows
recycle:repository = .lixeira
recycle:keeptree = True
recycle:touch = True
recycle:versions = True
recycle:exclude = *.tmp|*.temp|*.o|*.obj|~$*|*.$$$
recycle:excludedir = /tmp|/temp|/trash
recycle:noversions = .doc|.xls|.ppt|.dbf|.nsx|.idx|.dbt
recycle:maxsize = 0

#=============================
#===== Compartilhamentos =====
#=============================

[netlogon]
comment = Servico de Logon em Rede
path = /home/netlogon
browseable = Yes
read only = Yes
; valid users = @
create mask = 2775
force create mode = 2775
directory mask = 2775
; map acl inherit = Yes


[homes]
comment = Diretorio Pessoal de Cada Usuario [ U:\ ]
path = /home/%U
browseable = no
writeable = Yes
create mask = 0700
directory mask = 0700
force create mode = 2700
hide dot files = yes
vfs objects = recycle

[dir1]
comment = Diretorio da dir1
path = /home/dir1
valid users = @dir1
public = no
writable = yes
printable = no
create mask = 2770
force create mode = 2770
directory mask = 2770
force directory mode = 2770
hide dot files = yes
force group = dir1
vfs object = extd_audit
veto files = /*.mp3/*.wmv/*.wma/*.wav/*.mpeg/*.sqm/*.pif/*.ogg/*.mpg/*.cmd/*.avi/*.ini/*.scr/*.com/*.inf/*.bat/*.rmvb/*.exe/*.flv/*.fla/

[dir2]
comment = Diretorio da dir2
path = /home/dir2
valid users = @dir2
public = no
writable = yes
printable = no
create mask = 2770
force create mode = 2770
directory mask = 2770
force directory mode = 2770
force group = dir2
hide dot files = yes
vfs object = extd_audit
veto files = /*.mp3/*.wmv/*.wma/*.wav/*.mpeg/*.sqm/*.pif/*.ogg/*.mpg/*.cmd/*.avi/*.ini/*.scr/*.com/*.inf/*.bat/*.rmvb/*.exe/*.flv/*.fla/



Alguem sabe dizer oq pode estar acontecendo? Eu estou desconfiado dessa seção:

# Nao tentar fazer um lock nestes arquivos
veto files = /*.eml/*.nws/*.{*}/
veto oplock files = /*.doc/*.xls/*.mdb/

; oplocks = no
; level2 oplocks = no



Há algo errado ai?




  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts