[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: