Problema com Samba (netlogon.bat)

Iniciado por VFAP, 10 de Novembro de 2011, 03:17

tópico anterior - próximo tópico

VFAP

Olá pessoal, tudo bem?

Estou com um problema no Samba.
Uso o Ubuntu 8.04 Hardy Heron Server no Virtual Box e configurei o smb.conf
para executar um prompt script (.bat / .cmd) no cliente, que no caso é
outra máquina virtual usando o Windows XP Professional SP3.

O Ubuntu está servindo de gateway para o Windows (conectado em 2 placas
de rede, 1 para internet e outra para conexão direta com o Windows)

O problema é que no Windows há a conexão com o Ubuntu mas ele não executa
o script de jeito nenhum.

Testei depois em um Windows 7 e também não executou.


Não é problema nos Windows, o problema deve ser no smb.conf do Ubuntu.


[global]
workgroup = WORKGROUP
server string = Ubuntu File Server
netbios name = ubuntu
load printers = no
disable spoolss = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
preserve case = yes
short preserve case = yes
case sensitive = yes
dns proxy = no
# In case of another network added, place it here
interfaces = lo eth0 eth1
# eth0 - conexão com o host (bridged)
# eth1 - conexão "local" (com outras VMs)
# In case of another client added, place it here
hosts deny = ALL EXCEPT 192.168.1.1 192.168.1.2 192.168.2.2
hosts allow = 192.168.1.1 192.168.1.2 192.168.2.2
# 192.168.1.1 - Gateway físico
# 192.168.1.2 - Cliente do gateway físico, máquina host das VMs
# 192.168.2.2 - Cliente virtual
bind interfaces only = true
domain master = yes
local master = yes
preferred master = yes
os level = 100
log file = /var/log/samba/log.%m
max log size = 1000
syslog = 0
panic action = /usr/share/samba/panic-action %d
security = user
encrypt passwords = true
passdb backend = tdbsam
obey pam restrictions = yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *Password\supdated\ssuccessfully* .
unix password sync = yes
guest account =  nobody
null passwords = no
invalid users = root admin bin daemon named sys tty disk mem kmem user users guest tmp temp log syslog
domain logons = yes


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

[Recycler]
comment = Recycle Bin
path = /home/recycle-bin
browseable = no
writable = no
guest ok = no
create mask = 0775
directory mask = 0775
public = no
write list = +share
valid users = +share

[IPC$]
comment = Root
path = /dev/null
browseable = no
writable = no
guest ok = no
public = no
valid users = +share
domain logons = yes
logon script = .netlogon.cmd
logon path = \\%L\netlogon

[Share]
comment = Shared Folder
path = /home/share
browseable = yes
writable = no
guest ok = no
create mask = 0775
directory mask = 0775
public = no
write list = +share
valid users = +share
logon script = .netlogon.cmd
logon path = \\%L\netlogon
vfs objects = recycle
recycle:repository = /home/recycle-bin/%u@%I
recycle:keeptree = true
recycle:versions = true
recycle:exclude = *.tmp, *.log, ~*.*
recycle:exclude_dir = tmp, temp, cache
; avaliable = no




No grupo share coloquei um usuário e as pastas do compartilhamento,
bem como as subpastas e subarquivos pertencentes ao grupo share
chgrp -R share /home/share

Permissões aos alvos compartilhados
chmod -R 775 /home/share




O compartilhamento existe do lado cliente.
Ao tentar acessar o compartilhamento pelo Windows, ele
pede senha e abre. Mas não executa a porcaria do script.


O script está em formato DOS na quebra de linha
cat -A /home/netlogon/.netlogon.cmd

@ECHO OFF^M$
title Ubuntu file server^M$
color FC^M$
:start^M$
cls^M$
echo UBUNTU servidor de arquivos...^M$
echo.^M$
if "%OS%"=="Windows_NT" goto WinNT^M$
:Win95^M$
echo Configurando compartilhamento...^M$
net use Z: \\ubuntu\share^M$
if errorlevel<>0 pause^M$
goto end^M$
:WinNT^M$
echo Configurando compartilhamento...^M$
net use Z: \\ubuntu\share /persistent:no^M$
if errorlevel <> 0 pause^M$
goto end^M$
:end^M$
exit




Pessoal, já estou desesperado. Preciso que execute para que
ele monte sozinho as unidades no lado cliente e que elas não
sejam permantentes (como no caso de tentar acessá-las
diretamente, elas são montadas em modo persistente e tenho
toda hora que abrir o cmd do Windows para desfazer a porcaria)


Obrigado pela ajuda.
"But if this ever changing world / In which we live in /
Makes you give in and cry / Say live and let die"
Guns n' Roses

VFAP

Pessoal, eu ja tentei resolver via Google,
vi pilhas de "soluções" que falharam
miseravelmente (todas elas).
"But if this ever changing world / In which we live in /
Makes you give in and cry / Say live and let die"
Guns n' Roses

zekkerj

Olá VFAP,

Algumas considerações:

1. O Ubuntu 8.04 está obsoleto. Atualize seu Ubuntu, pelo menos para o 10.04 LTS. Essa mudança vai te migrar do Samba 3.0 para o Samba 3.5, o que vai dar uma diferença de funcionalidades muito grande e importante.

2. O script de logon é acionado pela diretiva específica "logon script", a qual aponta para o nome do script de login dentro do compartilhamento [netlogon]. Essa diretiva é global, e não de um compartilhamento específico. Se você precisa personalizar o script de logon, pode usar as variáveis "%U" pra indicar o nome do usuário (permitindo assim que cada usuário tenha o seu próprio login script), e "%M" para indicar o nome netbios da máquina.

3. "netlogon.bat" é um arquivo; ".netlogon.bat" é outro. O Samba tem um recurso próprio pra tornar os nomes de arquivos invisíveis.
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

VFAP

#3
Citação de: zekkerj online 10 de Novembro de 2011, 09:52
Se você precisa personalizar o script de logon, pode usar as variáveis "%U" pra indicar o nome do usuário (permitindo assim que cada usuário tenha o seu próprio login script), e "%M" para indicar o nome netbios da máquina.

Na verdade, não preciso disso.
Todas elas tem que executar o mesmo script.



Citação de: zekkerj online 10 de Novembro de 2011, 09:52
3. "netlogon.bat" é um arquivo; ".netlogon.bat" é outro. O Samba tem um recurso próprio pra tornar os nomes de arquivos invisíveis.

A intenção de colocar . antes do nome do arquivo é para fazê-lo oculto no Windows, visto que
uso o Ubuntu Server totalmente na interface de linha de comando.


Citação de: zekkerj online 10 de Novembro de 2011, 09:52
2. O script de logon é acionado pela diretiva específica "logon script", a qual aponta para o nome do script de login dentro do compartilhamento [netlogon]. Essa diretiva é global, e não de um compartilhamento específico.

Da na mesma. Não executa de jeito nenhum.
Vi em muitos sites e blogs usarem somente em
compartilhamentos específicos.


Citação de: zekkerj online 10 de Novembro de 2011, 09:52
1. O Ubuntu 8.04 está obsoleto. Atualize seu Ubuntu, pelo menos para o 10.04 LTS. Essa mudança vai te migrar do Samba 3.0 para o Samba 3.5, o que vai dar uma diferença de funcionalidades muito grande e importante.

Sou meio novo no mundo linux, como faço pra upgradar a distro para essa especificamente???
Tenho que usar somente distros stable.
"But if this ever changing world / In which we live in /
Makes you give in and cry / Say live and let die"
Guns n' Roses

zekkerj

O comando pra atualizar é "do-release-upgrade". Mas o ideal seria reinstalar o sistema, pq sempre fica muito lixo das instalações anteriores. Não faça nada atabalhoadamente, programe-se.
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

VFAP

Olá, zekkerj

#aptitude dist-upgrade

Será que isso também serve para upgradar a distro???
Se serve, como posso saber para qual distro ele vai
upgradar?
Gostaria de usar somente opções stable.


Obrigado
"But if this ever changing world / In which we live in /
Makes you give in and cry / Say live and let die"
Guns n' Roses

zekkerj

#6
Não, esse comando serve pra atualizar pacotes que mudam a lista de dependências. É equivalente ao "aptitude upgrade".

A atualização da distro sempre é de uma versão pra versão seguinte, independente de quais sejam. Assim, a 10.10 sempre vai atualizar pra 11.04. As versões LTS atualizam diretamente de uma pra outra também; assim, a 8.04 atualiza pra 10.04, que por sua vez atualizará pra 12.04.
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

VFAP

#7
Obrigado, zekkerj, pela ajuda.

Acho que é o suficiente.


Vou tentar fazer o recomendado e retorno o resultado.
"But if this ever changing world / In which we live in /
Makes you give in and cry / Say live and let die"
Guns n' Roses

VFAP

Cara, em todos os sites que olho por aí, recomendam o Ubuntu 8.04 pra
se fazer server.

Nossa cara, isso fornicou o sistema todo...

  • Reconfigurou o teclado para o americano.
    Pra sair do "vim" tive que dar ctrl+z e depois
    matar o processo, porque não reconheceu o ":"
    em tecla nenhuma.
  • A execução ficou extremamente lenta,
    visto que para esse computador só disponho
    de 512MB, o que deixou um simples "ls -lha"
    demorando 1,5 segundos...
    Antes era instantâneo (como tem que ser).
  • Muitos dos pacotes que costumo desinstalar
    quando acabo de instalar o Ubuntu tive que
    desinstalar tudo de novo.
  • Muitos pacotes que eram úteis que eu
    tinha instalado, tive que instalar (os que eu
    consegui lembrar) tudo de novo, para que
    não comprometesse as funcionalidades que
    eu mesmo tinha implementado.

Cara, agora terei que formatar...

Cheguei a conclusão de que Ubuntu, com toda certeza,
não é melhor que o Debian para servidores.




E, por final das contas, não consegui resolver o
problema do script.bat...
"But if this ever changing world / In which we live in /
Makes you give in and cry / Say live and let die"
Guns n' Roses

zekkerj

Você deve estar num túnel do tempo. Tem certeza de que está trabalhando em 2011?
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

VFAP

#10
Cara, desculpe se pareci meio rude antes,
sei que você só está tentando ajudar,
então me desculpe.

Vou continuar pesquisando e se eu conseguir
encontrar a solução para o problema eu volto
e posto ele aqui.
"But if this ever changing world / In which we live in /
Makes you give in and cry / Say live and let die"
Guns n' Roses

bfbicalho

Seria interessante sair do túnel do tempo e instalar o ubuntu 11.04 ou 11.10, pois o 8.04 usei durante muito tempo coisa de uns 2 anos mas chegou um momento que eu fiz uma atualização para o 11.04 e meus serviços funcionam tranquilamente. claro que em relação ao 8.04 mudou muita coisa, porém as mudanças melhoraram muito o sistema.