Samba não executa script automático de login do usuário

Iniciado por Felipesm, 30 de Dezembro de 2010, 08:39

tópico anterior - próximo tópico

Felipesm

Bom Dia a todos,

Estou com um problema no ubuntu server com samba como PDC, quando o usuário(windows 7 Professional) loga no domínio, o servidor deveria fazer o mapeamento das unidades de rede automático mas não faz, e demora muito para logar(fica na tela de bem vindo muito tempo carregando, aprox 2 minutos enquanto no windows XP era 30 a 40 segundos).

smb.conf:


[global]
        workgroup = PPV
        netbios name = ServidorPPV
        server string = Servidor de Arquivos PPV
        logon script = %U.bat
        security = user
#Essa pasta abaixo fica em /var/profiles/
logon path = \\%L\profiles\%U
        logon home = \\%L\%U\.profiles
        domain logons = Yes
        os level = 100
        preferred master = Yes
        domain master = Yes
        encrypt passwords = true
        unix charset = iso8859-1
        display charset = cp850
        admin users = root
        username map = /etc/samba/smbusers
        add machine script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u
        vfs objects = recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:repository = /var/samba/trash/%U
        recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso
        recycle:exclude_dir = tmp, cache
        ntlm auth = YES
        lanman auth = YES
        client ntlmv2 auth = YES
Level0 oplocks = no


[profiles]
      path = /var/profiles
      writeable = Yes
      browseable = No
      create mask = 0600
      directory mask = 0700

[Home]
        path = /home/%U
        read only = No
        create mask =600
        force create mode = 0777
        directory mask = 0777
        guest ok = Yes
        valid users = %U
        writable = Yes

[Publico]
        path = /media/Data/Servidor/publico
        read only = no
        browseable = yes
        create mask =600
        force create mode = 0777
        directory mask = 0777
        guest ok = Yes
        writable = Yes

[Programacao]
        path = /media/Data/Servidor/programacao
        read only = No
        create mask =600
        force create mode = 0777
        directory mask = 0777
        browseable = yes
        valid users =  @programacao
        guest ok = Yes
        writable = Yes
[Design]
        path = /media/Data/Servidor/design
        read only = No
        create mask =600
        force create mode = 0777
        directory mask = 0777
        valid users = @design
        guest ok = Yes
        writable = Yes
[Lixeira]
        path = /var/samba/trash/%U
        writable = yes

[Gerencia]
        path = /media/Data/Servidor/administracao
        read only = No
        create mask =600
        force create mode = 0777
        directory mask = 0777
        valid users = @administracao
        guest ok = Yes
        writable = Yes

[Pedagogica]
        path = /media/Data/Servidor/pedagogico
        read only = No
        create mask =600
        force create mode = 0777
        directory mask = 0777
        valid users = @pedagogico
        guest ok = Yes
        writable = Yes
[Hardware]
        path = /media/Data/Servidor/hardware
        read only = No
        create mask =600
        force create mode = 0777
        directory mask = 0777
        valid users = @hardware
        guest ok = Yes
        writable = Yes

[FTP]
        path = /media/Data/Servidor/www/
        read only = No
        create mask =600
        force create mode = 0777
        directory mask = 0777
        valid users = felipe,lzanol
        guest ok = Yes
        writable = Yes

[netlogon]
comment = The domain logon service
path = /home/netlogon/
public = no
writeable = no
browsable = no
[MPSBR]
path = /media/Data/Servidor/MPSBR/
        read only = No
        create mask =600
        force create mode = 0777
        directory mask = 0777
        valid users = marcia
        guest ok = Yes
        writable = Yes

[SVN]
        path = /svn
        read only = no
        browseable = yes
        create mask =600
        force create mode = 0777
        directory mask = 0777
        guest ok = Yes


usuário.bat:

net use I: \\servidorppv\home
net use K: \\servidorppv\publico


Agradeço desde ja a ajuda.

zekkerj

Ative o log do samba, adicionando as linhas abaixo à seção [global]:

log level = 3
log file = /var/log/samba/%m.log

Depois reinicie o serviço. Isso vai criar um log de todos os acessos de cada uma das máquinas; procure pelo arquivo com o nome da máquina windows 7 que vc usa pra testes. Lá dentro, ele vai listar cada um dos arquivos acessados, veja se ele está acessando corretamente o arquivo "/home/netlogon/<usuario>.bat"

Outra coisa, parece trivial mas até raposa velha, de vez em quando, se engana: lá em cima, você definiu o "login script" como "%U.bat". Ou seja, tem que existir um arquivo ".bat" com o mesmo nome de cada usuário, pra que isso funcione. Vc confirma isso?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

Por fim... você falou, especificamente, em estações Windows 7. Eu também passo por um problema de lentidão no acesso do Windows 7 para o Samba. Googlando por aí, vi algumas recomendações, em particular a de adicionar a diretiva abaixo à seção [global] do samba:

socket options = TCP_NODELAY SO_RCVBUF=2048

Essas opções podem ser combinadas com outras, como "SO_SNDBUF=8192", "IPTOS_LOWDELAY" e "IPTOS_THROUGHPUT".
Não sei dizer se isso resolve o problema, pois ainda não pude testar isso diretamente.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Felipesm

zekkerj

Vou testar as opções que você falou e quanto ao login script é sim tem que existir o arquivo com o nome do usuário .bat

Felipesm

#4
Tenho uma maquina virtual no dominio e uso ela para testes abri o log dela e apresentou os seguintes erros(que por sinal não entendi nenhum):

[2010/12/30 14:39:37.828011,  3] smbd/connection.c:31(yield_connection)
  Yielding connection to netlogon


  Can't become connected user!
[2010/12/29 10:55:54.886389,  0] smbd/service.c:942(make_connection_snum)
  Can't become connected user!
[2010/12/29 10:55:54.915132,  0] smbd/service.c:942(make_connection_snum)
  Can't become connected user!
[2010/12/29 10:55:54.918220,  0] smbd/service.c:942(make_connection_snum)
  Can't become connected user!
[2010/12/29 10:55:54.941034,  0] smbd/service.c:942(make_connection_snum)
  Can't become connected user!
[2010/12/29 10:55:54.943366,  0] smbd/service.c:942(make_connection_snum)
  Can't become connected user!
[2010/12/29 10:56:07.750003,  1] smbd/service.c:1251(close_cnum)
  virtual-pc (192.168.1.100) closed connection to service Publico
[2010/12/29 10:56:08.569480,  1] smbd/service.c:1070(make_connection_snum)
  virtual-pc (192.168.1.100) connect to service Publico initially as user nobody (uid=65534, gid=65534) (pid 16778)
[2010/12/29 10:56:15.318059,  1] smbd/service.c:1070(make_connection_snum)
  virtual-pc (192.168.1.100) connect to service Publico initially as user nobody (uid=65534, gid=65534) (pid 16778)
[2010/12/29 10:56:49.750771,  1] smbd/service.c:1251(close_cnum)
  virtual-pc (192.168.1.100) closed connection to service Publico
[2010/12/29 10:57:04.094133,  1] smbd/service.c:1251(close_cnum)
  virtual-pc (192.168.1.100) closed connection to service Publico

zekkerj

Esses erros são relativos a tentativas de conexão anônima ao serviço "publico", pelo que eu entendi.

Sobre sua configuração...
Citarntlm auth = YES
Essa opção já é default, não precisa ser passada.
Citarlanman auth = YES
A documentação que eu li recomenda que se mantenha essa opção desligada, a menos que você tenha clientes Win 95/98/ME ou DOS.
CitarLevel0 oplocks = no
Essa opção não consta na minha documentação. Vc chegou a verificar se ela está sendo aceita?
O comando abaixo testa se sua configuração é válida.

testparm
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Felipesm

E quanto a execução do script automático no login, porque será que ainda não executa o script?

zekkerj

Por vários motivos... por exemplo, se vc estiver forçando autenticação NTLMv1 ("ntlm auth = yes"), o Win7 usa NTLMv2. Como os modos não batem, a autenticação não acontece e ele cai pro modo "guest" (que vc liberou em todos os compartilhamentos, outra coisa que eu não entendo o motivo). Em modo guest não há um usuário autenticado, e assim não há como executar o script (que é baseado no nome do usuário).

Verifique se os parâmetros todos estão corretos, com o comando que eu te passei.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Felipesm

#8
Rodei o comando samba e veja o que ele retornou:

root@servidorppv:~# samba
Unknown parameter encountered: "logon script"
Ignoring unknown parameter "logon script"
Unknown parameter encountered: "logon path"
Ignoring unknown parameter "logon path"
Unknown parameter encountered: "logon home"
Ignoring unknown parameter "logon home"
Unknown parameter encountered: "domain logons"
Ignoring unknown parameter "domain logons"
Unknown parameter encountered: "os level"
Ignoring unknown parameter "os level"
Unknown parameter encountered: "domain master"
Ignoring unknown parameter "domain master"
Unknown parameter encountered: "admin users"
Ignoring unknown parameter "admin users"
Unknown parameter encountered: "remote announce"
Ignoring unknown parameter "remote announce"
Unknown parameter encountered: "username map"
Ignoring unknown parameter "username map"
Unknown parameter encountered: "add machine script"
Ignoring unknown parameter "add machine script"
Unknown parameter encountered: "vfs objects"
Ignoring unknown parameter "vfs objects"
Unknown parameter encountered: "Level0 oplocks"
Ignoring unknown parameter "Level0 oplocks"
Processing section "[profiles]"
Unknown parameter encountered: "writeable"
Ignoring unknown parameter "writeable"
Processing section "[Home]"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "valid users"
Ignoring unknown parameter "valid users"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[Publico]"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[Programacao]"
Unknown parameter encountered: "valid users"
Ignoring unknown parameter "valid users"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[Design]"
Unknown parameter encountered: "valid users"
Ignoring unknown parameter "valid users"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[Lixeira]"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[Gerencia]"
Unknown parameter encountered: "valid users"
Ignoring unknown parameter "valid users"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[Pedagogica]"
Unknown parameter encountered: "valid users"
Ignoring unknown parameter "valid users"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[Hardware]"
Unknown parameter encountered: "valid users"
Ignoring unknown parameter "valid users"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[FTP]"
Unknown parameter encountered: "valid users"
Ignoring unknown parameter "valid users"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[netlogon]"
Unknown parameter encountered: "public"
Ignoring unknown parameter "public"
Unknown parameter encountered: "writeable"
Ignoring unknown parameter "writeable"
Processing section "[MPSBR]"
Unknown parameter encountered: "valid users"
Ignoring unknown parameter "valid users"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
Unknown parameter encountered: "writable"
Ignoring unknown parameter "writable"
Processing section "[SVN]"
Unknown parameter encountered: "guest ok"
Ignoring unknown parameter "guest ok"
adding hidden service IPC$
adding hidden service ADMIN$


Tentei usar também o testparm mas o seguinte erro ocorreu:

testparm smb.conf
Traceback (most recent call last):
  File "/usr/bin/testparm", line 43, in <module>
    import samba
  File "/usr/lib/python2.6/dist-packages/samba/__init__.py", line 45, in <module>
    from samba._ldb import Ldb as _Ldb
ImportError: /usr/lib/libgensec.so.0: undefined symbol: _dcerpc_binding_handle_data

zekkerj

O comando é apenas "testparm", não recebe nenhum parâmetro.

Mas essa saída foi intrigante. Não lembro de haver um comando "samba".
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Felipesm

#10
Aonde eu consigo a documentação do Samba de preferência em português?

Agora ferrou tudo, fui fazer um teste e retirei minha maquina virtual e a minha estação de tranalho do dominio e agora eles não voltam mais para o dominio, apresentando o erro:
Não foi possível contatar um Controlador de Domínio Active Directory(AD DC) para o Dominio "PPV"

smb.conf:
[global]
workgroup = PPV
        netbios name = ServidorPPV
        server string = Servidor de Arquivos PPV
        logon script = %U.bat
        security = user
        #Essa pasta abaixo fica em /var/profiles/
        logon path = \\%L\profiles\%U
        logon home = \\%L\%U\.profiles
        domain logons = Yes
        os level = 100
        preferred master = Yes
        domain master = Yes
        log level = 3
        log file = /var/log/samba/%m.log
        encrypt passwords = true
        unix charset = iso8859-1
        display charset = cp850
        admin users = root
        remote announce = 192.1681.254/PPV
        username map = /etc/samba/smbusers
        add machine script = /usr/sbin/useradd -d /dev/null -g 100 -s /bin/false -M %u
        vfs objects = recycle
        recycle:keeptree = yes
        recycle:versions = yes
        recycle:repository = /var/samba/trash/%U
        recycle:exclude = *.tmp, *.log, *.obj, ~*.*, *.bak, *.iso
        recycle:exclude_dir = tmp, cache
        ntlm auth = YES
        #Para clientes Win 95/98/DOS
        lanman auth = Yes
        client ntlmv2 auth = YES
        Level0 oplocks = no
        # Remover o Daley de login no windows 7
        socket options = TCP_NODELAY SO_RCVBUF=2048


Felipesm

Dando uma pesquisada, descobrir que esse erro das maquinas não voltarem para o domínio seria porque o serviço nmbd está stoped então fui verificar no meu servidor e realmente o serviço etá parado mas quando tento subir o serviço através do comando "service nmbd start" e ele retorna:

start: Job failed to start

Não sei porque está dando esse erro...preciso de ajuda urgente.

zekkerj

Felipe, tudo isso seria resolvido desde o início se vc apenas executasse o comando que eu te pedi lá em cima...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Felipesm

Caro zekkerj

Eu ja dei o comando  testparm e o mesmo retornou erro de execução:

Traceback (most recent call last):
  File "/usr/bin/testparm", line 43, in <module>
    import samba
  File "/usr/lib/python2.6/dist-packages/samba/__init__.py", line 45, in <module>
    from samba._ldb import Ldb as _Ldb
ImportError: /usr/lib/libgensec.so.0: undefined symbol: _dcerpc_binding_handle_data

Felipesm

Consegui executar o testeparm que no caso o certo é testparm.samba3


Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Unknown parameter encountered: "Level0 oplocks"
Ignoring unknown parameter "Level0 oplocks"
Processing section "[profiles]"
Processing section "[Home]"
Processing section "[Publico]"
Processing section "[Programacao]"
Processing section "[Design]"
Processing section "[Lixeira]"
Processing section "[Gerencia]"
Processing section "[Pedagogica]"
Processing section "[Hardware]"
Processing section "[FTP]"
Processing section "[netlogon]"
Processing section "[MPSBR]"
Processing section "[SVN]"
Processing section "[FINEP]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC