+ Responder ao Tópico



  1. #1

    Padrão Planilhas do Excel - Somente leitura

    Bom dia pessoal.
    Há algum tempo atrás tive problemas com a abertura de planilhas de Excel em meu servidor SAMBA. Sempre que o usuário tentava abrir planilha, aparecia uma mensagem informando que o mesmo estava em uso e questionava o usuário se desejava abri-la somente como leitura.
    Nessa época, inseri no meu smb.conf o seguinte parâmetro:

    ##### INÍCIO #####
    oplocks = no
    ##### FIM #####

    De uns dias para cá, esse problema voltou a ocorrer, mesmo com o parâmetro acima, então também inseri a seguinte linha:

    ##### INÍCIO #####
    level2 oplocks = no
    ##### FIM #####

    Porém o problema ainda ocorre.

    Alguém poderia me ajudar?

  2. #2

    Padrão

    mas...
    ocorre realmente pq o arquivo esta sendo usado por dois usuarios ao mesmo tempo?

  3. #3

    Padrão

    coloca o seu smb.conf aqui que fica melhor para te ajudar....
    já tive esse problema também, mais olhando seu conf te dou a dica....

  4. #4

    Padrão

    Segue o meu smb.conf.

    #### INÍCIO ####

    # This is the main Samba configuration file. You should read the
    # smb.conf(5) manual page in order to understand the options listed
    # here. Samba has a huge number of configurable options (perhaps too
    # many!) most of which are not shown in this example
    #
    # Any line which starts with a ; (semi-colon) or a # (hash)
    # is a comment and is ignored. In this example we will use a #
    # for commentry and a ; for parts of the config file that you
    # may wish to enable
    #
    # NOTE: Whenever you modify this file you should run the command "testparm"
    # to check that you have not made any basic syntactic errors.
    #
    #======================= Global Settings =====================================
    [global]

    workgroup = domain

    server string = Servidor Samba

    # This option is important for security. It allows you to restrict
    # connections to machines which are on your local network. The
    # following example restricts access to two C class networks and
    # the "loopback" interface. For more examples of the syntax see
    # the smb.conf man page
    hosts allow = 192.168.1. 127.

    # if you want to automatically load your printer list rather
    # than setting them up individually then you'll need this
    printcap name = /etc/printcap
    load printers = yes

    # It should not be necessary to spell out the print system type unless
    # yours is non-standard. Currently supported print systems include:
    # bsd, sysv, plp, lprng, aix, hpux, qnx
    # printing = lprng
    printing = cups

    # Uncomment this if you want a guest account, you must add this to /etc/passwd
    # otherwise the user "nobody" is used
    ; guest account = pcguest

    # this tells Samba to use a separate log file for each machine
    # that connects
    log file = /var/log/samba/%m.log

    # Put a capping on the size of the log files (in Kb).
    max log size = 33

    # Security mode. Most people will want user level security. See
    # security_level.txt for details.
    security = user

    # Use password server option only with security = server
    # The argument list may include:
    # password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
    # or to auto-locate the domain controller/s
    # password server = *
    ; password server = <NT-Server-Name>

    # Password Level allows matching of _n_ characters of the password for
    # all combinations of upper and lower case.
    ; password level = 8
    ; username level = 8

    # You may wish to use password encryption. Please read
    # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
    # Do not enable this option unless you have read those documents
    encrypt passwords = yes
    smb passwd file = /etc/samba/smbpasswd

    # The following is needed to keep smbclient from spouting spurious errors
    # when Samba is built with support for SSL.
    ; ssl CA certFile = /usr/share/ssl/certs/ca-bundle.crt

    # The following are needed to allow password changing from Windows to
    # update the Linux sytsem password also.
    # NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above.
    # NOTE2: You do NOT need these to allow workstations to change only
    # the encrypted SMB passwords. They allow the Unix password
    # to be kept in sync with the SMB password.
    # unix password sync = Yes
    # passwd program = /usr/bin/passwd %u
    # passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*

    # You can use PAM's password change control flag for Samba. If
    # enabled, then PAM will be used for password changes when requested
    # by an SMB client instead of the program listed in passwd program.
    # It should be possible to enable this without changing your passwd
    # chat parameter for most setups.

    #pam password change = yes

    # Unix users can map to different SMB User names
    ; username map = /usr/local/samba/lib/smbusers

    # Using the following line enables you to customise your configuration
    # on a per machine basis. The %m gets replaced with the netbios name
    # of the machine that is connecting
    ; include = /usr/local/samba/lib/smb.conf.%m

    # This parameter will control whether or not Samba should obey PAM's
    # account and session management directives. The default behavior is
    # to use PAM for clear text authentication only and to ignore any
    # account or session management. Note that Samba always ignores PAM
    # for authentication in the case of encrypt passwords = yes

    # obey pam restrictions = yes

    # Most people will find that this option gives better performance.
    # See speed.txt and the manual pages for details
    # socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192


    # Configure Samba to use multiple interfaces
    # If you have multiple network interfaces then you must list them
    # here. See the man page for details.
    ; interfaces = 192.168.12.2/24 192.168.13.2/24

    # Configure remote browse list synchronisation here
    # request announcement to, or browse list sync from:
    # a specific host or from / to a whole subnet (see below)
    ; remote browse sync = 192.168.3.25 192.168.5.255
    # Cause this host to announce itself to local subnets here
    ; remote announce = 192.168.1.255 192.168.2.44

    # Browser Control Options:
    # set local master to no if you don't want Samba to become a master
    # browser on your network. Otherwise the normal election rules apply
    ; local master = no

    # OS Level determines the precedence of this server in master browser
    # elections. The default value should be reasonable
    ; os level = 33

    # Domain Master specifies Samba to be the Domain Master Browser. This
    # allows Samba to collate browse lists between subnets. Don't use this
    # if you already have a Windows NT domain controller doing this job
    domain master = yes

    # Preferred Master causes Samba to force a local browser election on startup
    # and gives it a slightly higher chance of winning the election
    preferred master = yes

    # Enable this if you want Samba to be a domain logon server for
    # Windows95 workstations.
    domain logons = yes

    # if you enable domain logons then you may want a per-machine or
    # per user logon script
    # run a specific logon batch file per username
    #logon script = %U.bat
    #logon script = %g.bat
    logon script = script.bat
    #force create mode = 0777
    #force directory mode = 0777
    #create mask = 0775
    add user script = /usr/sbin/useradd -d /dev/null -g machines -c 'Machine Account' -s /bin/false -M %u


    # Where to store roving profiles (only for Win95 and WinNT)
    # %L substitutes for this servers netbios name, %U is username
    # You must uncomment the [Profiles] share below
    logon path =

    # Windows Internet Name Serving Support Section:
    # WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
    ; wins support = yes

    # WINS Server - Tells the NMBD components of Samba to be a WINS Client
    # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
    ; wins server = w.x.y.z

    # WINS Proxy - Tells Samba to answer name resolution queries on
    # behalf of a non WINS capable client, for this to work there must be
    # at least one WINS Server on the network. The default is NO.
    ; wins proxy = yes

    # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
    # via DNS nslookups. The built-in default for versions 1.9.17 is yes,
    # this has been changed in version 1.9.18 to no.
    dns proxy = no

    # Case Preservation can be handy - system default is _no_
    # NOTE: These can be set on a per share basis
    ; preserve case = no
    ; short preserve case = no
    # Default case is normally upper case for all DOS files
    ; default case = lower
    # Be very careful with case sensitivity - it can break things!
    ; case sensitive = no
    ;unix charset = iso8859-1

    # Desabilitando oplocks
    oplocks = no
    level2 oplocks = no

    # Permitem ao samba usar gravacao e leitura de arquivos grandes, acima de 64Kb em uma unica requisicao samba
    read raw = yes
    write raw = yes

    # Configura o maior bloco de dados que o samba ira tentar gravar de cada vez
    max xmit = 65535

    # Armazena em cache o caminho para o diretorio corrente, evitando grandes leituras na arvore de diretorios para descobri-lo
    getwd cache = yes

    deadtime = 15

    # IP do servidor Slapd
    passdb backend = ldapsam:ldap://<OCULTO>
    ldap passwd sync = yes
    ldap delete dn = Yes

    # Domínio do OpenLDAP
    ldap admin dn = cn=XXX,dc=YYY
    ldap suffix = dc=YYY
    ldap machine suffix = ou=Computadores
    ldap user suffix = ou=Usuarios
    ldap group suffix = ou=Grupos
    ldap idmap suffix = ou=Idmap

    # IP do servidor Slapd
    idmap backend = ldap:ldap://<OCULTO>
    idmap uid = 10000-20000
    idmap gid = 10000-20000

    #PATH para utilitarios de gerenciamento de usuarios no Samba + LDAP
    add user script = /usr/sbin/smbldap-useradd -m "%u"
    delete user script = /usr/sbin/smbldap-userdel "%u"
    add group script = /usr/sbin/smbldap-groupadd -p "%g"
    delete group script = /usr/sbin/smbldap-groupdel "%g"
    add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
    delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
    set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
    add machine script = /usr/sbin/smbldap-useradd -w "%u"

    dos charset = utf8
    display charset = iso8859-1
    unix charset = utf8

    #============================ Share Definitions ==============================

    [arquivos]
    path = /arquivos
    browseable = yes
    writeable = yes
    force create mode = 0777
    force directory mode = 0777
    admin users = @ti

    [netlogon]
    comment = Network Logon Service
    path = /home/netlogon
    guest ok = yes
    writable = no
    share modes = no

    [printers]
    comment = All Printers
    path = /var/spool/samba
    browseable = no
    # Set public = yes to allow user 'guest account' to print
    guest ok = no
    writable = no
    printable = yes

    #### FIM ####

    Acabei de perceber uma coisa... quando executo o comando smbstatus aparecem diversas conexões antigas. Essas conexões vão desde planilhas a arquivos executáveis.
    Existem conexões que estão datadas do começo de nov/08.

  5. #5

    Padrão

    então derrube-as!
    comente as linhas:
    read raw = yes
    write raw = yes

    reinicie o serviço...
    e veja se funciona...

  6. #6

    Padrão

    Adicionei, nas configurações globais do smb.conf, o seguinte parâmetro:

    ##### INÍCIO #####
    locking = no
    ##### FIM #####

    E aparentemente esse problema parou de ocorrer.
    Estou acompanhando e qualquer novidade volto a postar.

  7. #7

    Padrão

    Precisei desativar o parâmetro "locking" pois quando, realmente, 2 pessoas abriam o mesmo arquivo não aparecia mensagem informando. O problema é que desativando esse parâmetro o problema votlou a ocorrer.

    Conforme sugestão do Lincoln acabei de comentar as linhas:

    ##### INÍCIO #####
    read raw = yes
    write raw = yes
    ##### FIM #####

  8. #8

    Padrão

    Mesmo com o problema relatado, precesei voltar com o locking pois toda vez que o usuário tentava salvar uma planilha, o Excel travava e quando o arquivo fosse aberto novamente aparecia informando que já estava em uso. Mesmo aparecendo essa mensagem verifiquei através do smbstatus e constatei que o arquivo não está aparecendo como aberto.

  9. #9

    Padrão

    nossa cara...
    ta estranho isso ai...
    os usuarios que estão tentando abrir o mesmo arquivo são distintos??? ( diferentes )
    a versão do excel dos dois será a mesma?
    isso só acontece com planilhas?

  10. #10

    Padrão

    Caro Lincoln,

    Respondendo as suas perguntas:

    - Sim, são usuários diferentes.
    - Mesma versão do Excel - 2003 - e está acontendo com planilhas.

    Fiz um teste em um notebook com o Office 2003 com SP3 e aparentemente o erro não ocorreu.
    Verifiquei que as as estações que estão aparesentando esse erro estão com o SP2 do Office 2003. Estou alocando um recurso para instalar o SP3 nessas estações onde, em seguida, desativarei o parâmetro "locking = no" do SAMBA e monitorarei para verificar se o erro - de acusar que a planilha está aberta por outro usuaŕio sendo que a mesma não está - pára de ocorrer.