AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 928830
Accepted
pQd
pQd
Asked: 2018-08-31 22:46:35 +0800 CST2018-08-31 22:46:35 +0800 CST 2018-08-31 22:46:35 +0800 CST

Como renomear um usuário no domínio samba4?

  • 772

Como posso alterar o login de um usuário no domínio baseado em samba4?

Eu tentei ler a página de manual da ferramenta samba, mas não parece mostrar nada que eu possa usar.

samba4
  • 1 1 respostas
  • 6704 Views

1 respostas

  • Voted
  1. Best Answer
    rda
    2018-09-04T03:59:31+08:002018-09-04T03:59:31+08:00

    Supondo que usamos o Ubuntu e o Samba 4 está configurado como um DC (Active Directory Domain Controller) e queremos alterar o usuário com nome Old Usere login olduser. Para renomear apenas o nome de login de um usuário, podemos usar samba-tool:

    test-smb:~# samba-tool user edit olduser
    

    Isso abrirá um editor mostrando o conteúdo da entrada LDAP. Altere os atributos sAMAccountNamee userPrincipalName, salve e saia. Você também pode querer renomear qualquer diretório inicial existente do usuário.

    Também podemos editar a entrada LDAP diretamente sem usar o samba-toolmas com o ldb-tools.

    Instalar ldb-tools:

    apt install ldb-tools
    

    Agora podemos usar ldb-tools( ldbadd, ldbdel, ldbedit, ldbmodify, ldbrename, ldbsearch) para pesquisar ou modificar o banco de dados LDAP diretamente.

    Localize o banco de dados LDAP do Samba:

    Se você instalou uma versão do pacote Ubuntu do samba, este arquivo deve ser encontrado em /var/lib/samba/private/sam.ldb.

    Vamos primeiro dar uma olhada nesse usuário no banco de dados LDAP:

    Pesquise no banco de dados:

    Usamos ldbsearchpara isso com a seguinte sintaxe:

    ldbsearch -H <database-file> <ldap-filter>
    

    Com o <ldap-filter>podemos especificar uma expressão para filtrar as entradas retornadas pela pesquisa. Podemos, por exemplo sAMAccountName=olduser, filtrar com base no atributo de nome de login ou CN=Old Userfiltrar com base no atributo CN (Nome Comum):

    test-smb:~# ldbsearch -H /var/lib/samba/private/sam.ldb 'CN=Old User'
    # record 1
    dn: CN=Old User,CN=Users,DC=test-smb,DC=example,DC=com
    objectClass: top
    objectClass: person
    objectClass: organizationalPerson
    objectClass: user
    cn: Old User
    sn: User
    givenName: Old
    instanceType: 4
    whenCreated: 20180904091809.0Z
    whenChanged: 20180904091809.0Z
    displayName: Old User
    uSNCreated: 3841
    name: Old User
    objectGUID: 038979ea-107d-4c97-85bf-76d1f2326608
    badPwdCount: 0
    codePage: 0
    countryCode: 0
    badPasswordTime: 0
    lastLogoff: 0
    lastLogon: 0
    primaryGroupID: 513
    objectSid: S-1-5-21-3075026989-1808589244-366107480-1105
    accountExpires: 9223372036854775807
    logonCount: 0
    sAMAccountName: olduser
    sAMAccountType: 805306368
    userPrincipalName: [email protected]
    objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=test-smb,DC=phys,DC=et
     hz,DC=ch
    mail: [email protected]
    loginShell: /bin/bash
    pwdLastSet: 131805262894707270
    userAccountControl: 512
    uSNChanged: 3844
    distinguishedName: CN=Old User,CN=Users,DC=test-smb,DC=example,DC=com
    
    ...
    

    Alterar os atributos do nome de login

    Crie um arquivo de texto ( rename-login.ldif) com o seguinte conteúdo:

    dn: CN=Old User,CN=Users,DC=test-smb,DC=phys,DC=ethz,DC=ch
    changetype: modify
    replace: sAMAccountName
    sAMAccountName: newuser
    -
    replace: userPrincipalName
    userPrincipalName: [email protected]
    

    Isso modificará os atributos sAMAccountNamee userPrincipalName:

    test-smb:~# ldbmodify -H /var/lib/samba/private/sam.ldb rename-login.ldif
    Modified 1 records successfully
    

    Renomeie a entrada LDAP renomeando o RDN (Relative Distinguished Name)

    Parece que não é possível renomear uma entrada LDAP usando o samba-toole temos que usar ldb-tools:

    test-smb:~# ldbrename -H /var/lib/samba/private/sam.ldb 'CN=Old User,CN=Users,DC=test-smb,DC=example,DC=com' 'CN=New User,CN=Users,DC=test-smb,DC=example,DC=com'
    Renamed 1 record
    

    Isso também alterará os atributos cne name, mas não alguns outros atributos, ainda contendo o nome de usuário antigo, conforme mostrado na próxima pesquisa:

    test-smb:~# ldbsearch -H /var/lib/samba/private/sam.ldb 'CN=New User'
    # record 1
    dn: CN=New User,CN=Users,DC=test-smb,DC=example,DC=com
    objectClass: top
    objectClass: person
    objectClass: organizationalPerson
    objectClass: user
    sn: User
    givenName: Old
    instanceType: 4
    whenCreated: 20180904091809.0Z
    displayName: Old User
    uSNCreated: 3841
    objectGUID: 038979ea-107d-4c97-85bf-76d1f2326608
    badPwdCount: 0
    codePage: 0
    countryCode: 0
    badPasswordTime: 0
    lastLogoff: 0
    primaryGroupID: 513
    objectSid: S-1-5-21-3075026989-1808589244-366107480-1105
    accountExpires: 9223372036854775807
    sAMAccountType: 805306368
    objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=test-smb,DC=phys,DC=et
     hz,DC=ch
    mail: [email protected]
    loginShell: /bin/bash
    pwdLastSet: 131805262894707270
    userAccountControl: 512
    lastLogonTimestamp: 131805264616461980
    sAMAccountName: newuser
    userPrincipalName: [email protected]
    lastLogon: 131805271152497360
    logonCount: 12
    cn: New User
    name: New User
    whenChanged: 20180904100228.0Z
    uSNChanged: 3847
    distinguishedName: CN=New User,CN=Users,DC=test-smb,DC=example,DC=com
    

    Modifique os atributos restantes

    Para alterar também alguns outros atributos, como por exemplo givenName, displayNameou mail, podemos usar:

    samba-tool user edit newuser
    

    e edite o usuário interativamente ou use outro ldbmodifyda seguinte forma:

    Crie um arquivo de texto ( rename-other-attrs.ldif) com o seguinte conteúdo:

    dn: CN=New User,CN=Users,DC=test-smb,DC=phys,DC=ethz,DC=ch
    changetype: modify
    replace: givenName
    givenName: New
    -
    replace: displayName
    displayName: New User
    -
    replace: mail
    mail: [email protected]
    

    Modifique a entrada LDAP::

    test-smb:~# ldbmodify -H /var/lib/samba/private/sam.ldb rename-other-attrs.ldif
    Modified 1 records successfully
    
    • 6

relate perguntas

  • samba classicatualização de samba3 para samba4

  • Servidor de arquivos Samba como membro do domínio: erro ao ingressar no domínio

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve