Re: SAMBA+LDAP x Windows XP
Pedro Celio escreveu:
* Olá... Estou usando marcadores para diferenciar as respostas
Abraço
Pedro
*/Edmundo Valle Neto <edmundo.valle@terra.com.br>/* escreveu:
Debian escreveu:
> Edmundo Valle Neto escreveu:
>> Debian escreveu:
>>> (...)
>>
>> Como você populou sua base?
> Eu usei o escript de smb-tools
OK. Menos probabilidade de ter erros na estrutura do seu ldap, já que
não foi na mão.
>> Como criou suas contas?
> Estou usando o phpldapadmin
Não gosto muito phpldapadmin. Ele não costuma sincronizar as
senhas das
contas quando você muda ela. Eu recomendo utilizar o smbldap-tools
também para criar usuários.
>> Criou os grupos obrigatórios do domínio com os RIDs corretos?
> Os grupos que foram criados foram Users, Computers e Groups
Estes não são grupos, são Containeres do ldap para separar onde
diferentes contas ficam.
Estava me referindo aos grupos "Domain Users", "Domain Admins" e
"Domain
Guests", mas SE VOCÊ UTILIZOU o smbldap-populate (como você disse
* Quando eu entro no phpldapadmin ele me mostra os grupos que
citou acima Domain Admins, etc
OK.
antes), ele deve ter criado isso pra você de forma correta.
>> Todas as contas tem atributos posix e samba?
> estou usando uma conta administrador adm, criei ela tanto no grupo
> posix Users como nos usuários samba.
??? Não entendi. Mas como você chamou antes containeres de grupos,
acho
que tem alguma coisa errada aqui.
Segue um exemplo de uma conta de um usuário chamado "temp", todos
atributos do samba começam com "samba..." e simplesmente fazem
parte da
conta junto com os atributos posix. A conta inteira fica em
"ou=Users,dc=minharede,dc=lan".
dn: uid=temp,ou=Users,dc=minharede,dc=lan
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
objectClass: sambaSamAccount
cn: temp
sn: temp
uid: temp
uidNumber: 2006
gidNumber: 513
homeDirectory: /home/temp
loginShell: /bin/bash
gecos: System User
description: System User
userPassword:: e2NyeXB0fXg=
structuralObjectClass: inetOrgPerson
entryUUID: 1809903c-b88d-102b-9e72-e9eca2a03e10
creatorsName: cn=admin,dc=minharede,dc=lan
createTimestamp: 20070627000000Z
displayName: System User
sambaPwdLastSet: 0
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
sambaAcctFlags: [UX]
sambaSID: S-1-5-21-647137593-2241777951-1030635153-5012
sambaLMPassword: XXX
sambaPrimaryGroupSID: S-1-5-21-647137593-2241777951-1030635153-513
sambaNTPassword: XXX
entryCSN: 20070627000000Z#000004#00#000000
modifiersName: cn=admin,dc=minharede,dc=lan
modifyTimestamp: 20070627000000Z
>> Configurou o NSS?
> sim, usei o dpkg-reconfigure no libnss-ldap ldap-client e também
> configurei o nsswitch.conf para buscar na base no ldap.
E ele funciona? getent passwd e getent group retorna as contas do
LDAP
também?
* Sim, isso está funcionando corretamente, eu consilo logar
nestas contas criadas pelo smbcliente e pelo windows 98/me.
Conseguir logar não garante que ele esteja funcionando, isso se testa
com o getent para ver se o sistema consegue resolver as contas posix no
ldap.
>> Que conta você está utilizando?
> Estou usando uma conta adm criada tanto no posix qto no samba
como no
> administrador.
Também não entendi.
Para uma conta poder colocar estações no domínio ela deve ser root (o
que a faz a conta ser considerada root é ter o uid=0 o nome não faz
diferença) ou pode ser outra desde que você tenha privilegios
corretamente configurados no smb.conf e adicionados na conta ou no
grupo
que a conta faz parte.
* Eu me expressei mal. Eu criei no grupo Users e no Dominio
samba dentro do phpldapadmin uma conta adm com uid=0 e
defini como pertencente ao grupo "Domain Admins" configurei
ela no smb.conf para ser o administrador.
Como dito antes.
Definir a conta como tendo uid=0, faz diferença.
Colocar ela no grupo "Domain Admins" não faz diferença nenhuma pra o samba.
Eu chutaria que você fez isso especificando o usuário através da opção
"admin users", se foi isso, esta opção não garante ao usuário direitos
para ingressar clientes no dominio, não é para isso que ela serve.
Por padrão o samba vem sem nenhum privilégio especial associado a
nenhuma conta ou grupo, o grupo "Domain Admins" não faz nada de
especial
em relação ao samba, porém os usuários deste grupo passam a ser
considerados Administradores na MÁQUINA CLIENTE automaticamente
APÓS o
ingresso no domínio.
Obs.: Privilégios não são direitos de acesso e são configurados com o
comando "net rpc rights".
* Este comando eu nunca usei... é necessário qdo se cria uma
conta de administrador ?
Ela é necessária para permitir às contas executarem algumas tarefas
administrativas. Por exemplo, ingressar clientes no domínio
automaticamente especificando somente nome e senha através do cliente e
sem criar contas manualmente.
Fazendo isso você não precisa de uma conta de root para o samba.
>> Como você está tentando fazer o cliente ingressar no domínio?
> Estou indo na tela de alteração de nome do computado e inserindo no
> campo Membro de: para o grupo do dominio samba.
Ok. Pra isso funcionar a opção "add machine script" deve estar
corretamente configurada. Já vi um monte de gente inventando flags
para
colocar na linha de comando. A documentação do samba e do
smbldap-tools
explica como fazer isso e mais TROCENTAS mensagens no histórico desta
lista de discussão.
* Eu criei a conta da máquina manualmente no phpldapadmin,
provavelmente dever ser uma flag q está errada como vc
disse. No log do samba dá para ver que ele reconheceu a
conta da máquina corretamente.
Nunca utilizei o phpldapadmin para fazer isso, não saberia te dizer como
ele faz. Mas na documentação do samba explica como fazer isso
manualmente pelo shell.
>> Que erro aparece nos logs do samba? (De preferência com um log
level
>> de 2 ou 3)
> Usei tanto o log 2 e 3 mas o único erro que aparece é
> write_socket_data write failure. Error conection reset by peer
Isso não quer dizer muita coisa. No log deve aparecer também a
saída de
erro do "add machine script" que será executado para criar a conta
se é
que ele chegou a ser executado.
>> Atenciosamente.
>>
>> Edmundo Valle Neto
> O que vc acha que pode ser?
Nunca vi essa mensagem de erro exatamente, mas nem sempre as
mensagens
de erro que o Windows mostra são muito esclarecedoras.
Mas pelo erro, qual a saída do comando "net groupmap list"?
* Não conhecia este comando... qual deveria ser a saída
correta, ou quais o erros que ele costuma apresentar para eu
comparar com o meu?
Ele lista os grupos, o SID dos grupos e o nome da conta posix mapeada
(ou -1 se não encontrar).
Você retirou o NIS de sua rede? Há alguma possibilidade de haverem
ids
* Esta máquina eu montei esclusivamente para testes, nem
cheguei a instalar o nis nela, apenas os pacotes que vou
precisar para fazer o servidor funcionar. Samba, ldap, nss,
etc...
OK.
*
de usuários ou grupos colidindo (com o mesmo id) em backends
diferentes?
* Nesta máquina tem poucos usuários configurados, pois como
disse estou usando de protótipo antes de colocar na rede
operacional. No phpldapadmin ele pede para colocarmos os
uids dos usuários manualmente (um perigo), mas coloquei
todos em faixas distantes justamente para não correr este
risco. Mas vou conferir novamente. Digo vou pq neste momento
não estou no trabalho.... te darei o resultado qdo executar.
Se não me engano há como configurar isso, para ele pegar o próximo id
disponível. Mas como eu disse antes eu não utilizo ele para criar contas.
Edmundo Valle Neto
Reply to: