Práticas recomendadas nos padrões de nome de usuário: evitando problemas

59

Estou interessado em descobrir quais são as experiências das pessoas com nomes de usuário padrão. Eu sempre estive em lugares que usavam {firstInitial} {lastname} (às vezes com um limite de comprimento). Agora, tenho usuários que desejam {firstname}. {Lastname} - e agora parece que o período pode causar problemas.

Especificamente:

  • Qual é o melhor limite de tamanho de nome de usuário para manter a compatibilidade em todos os usos?
  • Quais personagens devem ser evitados?

ATUALIZAÇÃO: A razão pela qual eu não mencionei detalhes é que eu queria ser geral o suficiente para lidar com qualquer coisa que possa surgir no futuro. No entanto, isso pode ser um requisito muito geral (tudo pode acontecer, certo?).

Este é o nosso ambiente: Ubuntu Server Lucid Lynx 10.04 LTS, Red Hat Enterprise Linux 5.6 e superior, Windows Server 2003 e Windows 2000 Server (com Active Directory no modo nativo do Windows 2000), Zimbra 7.x para correio e OpenLDAP no próximo futuro.

ATUALIZAÇÃO: Devo mencionar (por completo) que eu vi essa pergunta (apesar de não ter respondido à minha pergunta) e também este post na Web , ambos muito informativos.

Mei
fonte
4
Você não mencionou o sistema operacional / aplicativo. Deseja torná-lo geral demais para ser aplicado a qualquer sistema operacional / aplicativo?
Khaled
13
Nossa empresa de 80.000 usava o padrão {firstInitial} {lastname} para login e endereço de email. Nós mudamos as coisas depois de uma ligação irritada do Sr. Thomas Watts, cujo email estava sendo bloqueado pelo nosso firewall. Ter pessoas suficientes e haverá um problema.
precisa saber é o seguinte
13
@MaskedPlant: Eu amo nomes de usuários engraçados. Certa vez, um cliente usou um padrão IBM RACFID de "quatro primeiros caracteres do sobrenome, primeira inicial, inicial do meio". "Susan Penington" não ficou feliz com isso, como você pode imaginar. "Mary Utt" também não estava feliz com o primeiro nome / sobrenome em outro site ...> smile <
Evan Anderson
4
{first initial} {last name} parece ser o mais comum e é relativamente seguro para pequenas e médias empresas. Facilita a vida do departamento de vendas para ter uma convenção comum ao fazer essas ligações e falar B2B.
Chad Harrison
2
Lembro-me de uma tira de Dilbert: search.dilbert.com/comic/Utthead
KeithS

Respostas:

65

Esse é um problema crônico com os grandes sistemas de Gerenciamento de Identidades que tentam colar sistemas heterogêneos. Invariavelmente, você estará limitado ao menor denominador comum, que muitas vezes é um limite ASCII-alfa-numérico de 8 caracteres, graças a algum sistema (provavelmente herdado) do tipo Unix em algum lugar nas entranhas do datacenter. Esses sistemas modernos sofisticados podem ter um comprimento arbitrário e é improvável que os nomes de usuário UTF8 sejam usados.

Passei 7 anos em uma instituição de ensino superior, onde tivemos que descobrir nomes de usuário com 8 caracteres para 5000 novos alunos a cada ano. Conseguimos criar nomes únicos para 15 anos de alunos quando eu saí. Isso pode ser feito, Sr. smitj510

Coisas que tornarão sua vida incomensuravelmente mais fácil:

  • Descubra qual é o menor denominador comum, o que requer a análise de todas as partes do seu sistema de gerenciamento de identidades para descobrir quais são os limites.
    • Esse antigo sistema Solaris 7 está forçando o limite de 8 caracteres.
    • Aplicativos críticos que usam dados de identidade têm seus próprios limites, que você deverá considerar.
      • Talvez eles esperem que os dados do usuário do LDAP estejam em conformidade com um 'padrão' exclusivo para eles.
      • Talvez o banco de dados de autenticação que eles usam possa lidar apenas com certos dados formatados.
  • Tenha uma tabela de banco de dados com uma lista do One True Identifier (esse nome de conta de 8 caracteres), com links / campos que listam IDs alternativos como firstname.lastnameou qualquer outra coisa que possa surgir.
    • O software de prateleira pode fazer coisas realmente estranhas e hostis ao IDM, como usar um ID numérico para o nome da conta ou gerar automaticamente IDs de conta com base nos dados do perfil. Tudo isso também entra na tabela do banco de dados.
    • Isso também ajuda pessoas com caracteres não [az | 0-9] em seus nomes, como Harry O'Neil, ou não-ASCII, como Alžbêta.
  • Ao criar os processos de sincronização da conta, aproveite a tabela do banco de dados para garantir que as contas corretas estejam recebendo as atualizações corretas. Quando os nomes mudam (casamento, divórcio, outros), você deseja que essas mudanças sejam propagadas para os lugares certos.
    • Configure os próprios bancos de dados de identidade reais para impedir alterações locais sempre que possível e o processo de negócios para desencorajar fortemente isso quando não for possível. Confie no processo central de sincronização de contas para tudo o que puder.
  • Aproveite os sistemas de alias sempre que possível, como no email.
  • Considere o ID de 8 caracteres imutável, pois alterar esse campo pode causar MUITO sofrimento no corpo da equipe de TI, pois as contas precisam ser recriadas.
    • Isso sugere um ID da conta não derivado dos dados do nome, pois o casamento / divórcio / ordem judicial pode alterar os dados do nome ao longo do tempo.
  • Tenha um sistema em funcionamento para exceções, pois sempre haverá algumas.
    • Divórcio horrível e esse UID de 8 caracteres gerado por dados de nome traz lembranças dolorosas toda vez que você precisa inseri-lo? Seja gentil com seus usuários e permita um mecanismo para essas alterações, mas mantenha-o silencioso.
  • Faça o que puder para permitir vários logins de nome de usuário nos sistemas em que essa é uma opção
    • Algumas pessoas gostam do uid de 8 caracteres, outras, como [email protected]. Seja flexível, faça amigos.
    • Às vezes, isso exige que os sistemas baseados na Web sejam colocados à frente com uma estrutura como o CAS . Você ficará surpreso com a quantidade de sistemas disponíveis no mercado que podem suportar estruturas SSO como essa; portanto, não desanime.

Ou seja, trate-o como um problema de base de dados, porque é isso que é. Escolha uma chave primária para obter compatibilidade máxima com seus sistemas (provavelmente 8 caracteres), crie uma tabela de pesquisa para permitir que os sistemas convertam IDs locais na chave primária e projete seus sistemas de sincronização de dados para manipular vários IDs.

sysadmin1138
fonte
4
Resposta fantástica e bem escrita (e esclarecedora)!
Mei
12
+1 por não derivar nomes de usuário de dados de nome. Ter que renomear diretórios pessoais por causa do casamento / divórcio é irritante. Sua declaração sobre "personagens estranhos" me faz pensar em Little Bobby Tables e no zelador da minha antiga escola secundária, que tenho certeza de que tem problemas para comprar coisas on-line, Sr. Robert Null (não estou brincando).
Evan Anderson
Eu gosto do "Tenha um sistema em funcionamento para exceções, pois sempre haverá algumas". parte. Definitivamente, isso é verdade. Embora eu não vejo como smithj510faz um grande oito caracteres nome de usuário;)
scherand
2
+1 para abordar casamento e divórcio. Isso causou muitos problemas. Muitas empresas agem como se o funcionário fosse o primeiro a mudar de nome.
mhoran_psprep
5
@mhoran_psprep E se você for grande o suficiente, conseguirá que alguém faça uma alteração legal no primeiro nome. Muitos sistemas configurados para alterações de sobrenome são interrompidos nesse caso.
sysadmin1138
26

Suas perguntas especificamente:

  • Qual é o melhor limite de tamanho de nome de usuário para manter a compatibilidade em todos os usos?

Nao existe tal coisa. Existem apenas "seus" usos, que podem incluir seus usos futuros. Não temos ideia do que são.

  • Quais personagens devem ser evitados?

Isso dependerá de quais sistemas de computador você está lidando. O Windows, por exemplo, não tem problemas com um ponto no nome de usuário. De fato, o UPN é formatado como um endereço de email, o que permite um período.

Meus pensamentos adicionais:

  • Não permita que seus usuários perguntem - diga a eles qual é o padrão e seja aberto à empresa (não usuários individuais) solicitando alterações no padrão conforme os requisitos mudam.
  • Faça uma "política de exceção" no padrão, para poder ajudar a pobre Susan Penington e Mary Utt (dos comentários acima) sem precisar envolver um vice-presidente. Faça com que a TI pareça boa, certo?
mfinni
fonte
15
Esse último comentário vale a pena :) 50
Mei
2
É fundamental criar exceções sensatas. Ao longo dos anos, tivemos muitas exceções: vários usuários com o mesmo nome e sobrenome, usuários com sobrenomes muito longos, usuários cujos nomes e sobrenomes eram iguais, usuários que visitam a China e o RH tiveram seu nome totalmente embaralhado, alguém cujo nome estava escrito 'Raymond Luxury-Yacht', mas pronunciado 'Throatwobbler Mangrove' ...
Ward
BobHope, BobHope01, BobHope3, BobHopeAccounting, BobHopeHartford
mfinni
2
Sim para a exceção! Alguns países da África nem conhecem o conceito de "primeiro nome" e "sobrenome": o primeiro nome do pai se torna o sobrenome do filho e o filho recebe um novo primeiro nome ...
Konerak
2
Eu recomendaria ir além de apenas ter uma política de exceção e identificar usuários que provavelmente se beneficiariam dela no momento da criação da conta inicial. "Meu nome de usuário é horrível" não deve ser algo que um novo contratado precisa se preocupar no primeiro dia. Uma explicação da política padrão combinada com o reconhecimento de que ela pode não ser adequada para um indivíduo, juntamente com uma alternativa sugerida, é muito menos estressante. Possivelmente até mesmo recebendo informações de contato do RH para que você possa resolver o problema antes do primeiro dia.
Dan Neely
20

Minha experiência foi que, para uma empresa suficientemente grande, qualquer decisão que você tome sempre terá problemas. Mesmo que funcione hoje, sempre há o sistema que você implementa amanhã que apresenta problemas com o padrão anterior (problemas de comprimento, problemas de caracteres etc.).

Certifique-se de descobrir se o envio para Firstname.Lastname está relacionado ao email e não necessariamente aos nomes de login. Acho difícil acreditar que o usuário queira digitar "John.Smith" em vez de "jsmith" ao fazer logon, mas estou muito mais vendido com a idéia de que ele queira "[email protected] "como seu endereço de e-mail. Como o @Mfinni aponta, sempre há a opção para os usuários terem vários aliases de email, encaminhamentos, etc. Somente avisar aos usuários que existe a opção de separar o nome de usuário do endereço de email e alterar a dinâmica da solicitação.

Evan Anderson
fonte
11
E não é como se os usuários pudessem ter apenas um endereço de email. Sempre há apelidos e encaminhamentos.
M11
3
Os UPNs de nossos usuários e os endereços de email principais são idênticos o tempo todo; portanto, simplesmente pedimos que nossos usuários façam logon com seu endereço de email sempre que tentarem fazer login. Funciona muito bem, já que não temos nenhum software antigo que dependa de netbios.
pauska 11/01
Minha experiência foi que, para uma empresa suficientemente grande, qualquer decisão que você tome sempre terá problemas. Mesmo se ele funciona hoje, há sempre o sistema a implementar amanhã que tem problemas." - Podemos chamar esta Lei Andersons?
Freiheit
@ Freiheit: Minha declaração não merece seu próprio nome ...> smile <É realmente apenas causado pela aplicação geral da Lei de Murphy à TI. Murphy vive em TI ...
Evan Anderson
11
Gostaria de não ter encontrado este Wiki da Comunidade agora ...> smile <
Evan Anderson
13

Para sistemas Unix e Linux, {firstInitial} {lastname} é claramente ideal.

...

por razões que devem ser óbvias no nome associado a esta conta.

Robert Oot
fonte
3
Não estou discordando, mas você pode explicar por que está dizendo isso?
mfinni
Na verdade, eu discordo. Nos sistemas AIX em meu último trabalho, estávamos limitados a 8 caracteres. Assim, mfinnigan teria sido impossível; Eu tinha que ser mfinniga. Então, por favor, expanda um pouco sua resposta.
M115
2
Esta é uma resposta subjetiva, sem explicação. Pode-se dizer facilmente que, para o UNIX, {firstInitial} {middleInitial} {lastInitial} é "ideal", pois foi assim que o UNIX começou e foi assim durante anos (até que empresas com milhares de funcionários com nomes de usuário começaram a usá-lo ...)
Mei
10
Acho que pode ser uma piada. Seu nome seria "root", um usuário significativo nos sistemas Unix.
1113 Jeffrey
4
... R Obert Oot ... ouch! ENGRAÇADO! Não sei como eu senti falta disso.
Mei
7

Uma coisa a ter em atenção ao definir padrões de nomeação entre plataformas é um problema cosmético específico no ps no Linux (e possivelmente em outros sistemas operacionais Unix). Você pode ou não se importar com isso (mas pode ser alarmante para alguém que não está esperando por isso ... tive pessoas de segurança se contorcendo com isso).

A coluna UID exibirá apenas até 8 caracteres de um nome de usuário. Se o nome de usuário tiver mais de 8 caracteres, ele passará para a impressão do UID numérico real. Você pode contornar isso tendo um formato de coluna ps personalizado que contém o campo USER, mas SOMENTE se USER for a última coluna (dos meus testes empíricos).

A maioria das pessoas provavelmente não se importa com isso, mas se você está executando algum tipo de processamento da saída ps e esperando que os nomes de usuário reais apareçam, você deve ter cuidado com o tamanho do seu nome (caso contrário, você estará colocando hacks no seu código fazer o ps fazer a coisa certa).

Por exemplo:

Aqui está o formato de coluna padrão para a lista de formatos completos. Observe que meu uid está no formato numérico porque meu nome de usuário tem> 8 caracteres.

[tcampbell@tst-agg1 ~]$ ps -f
  UID        PID  PPID  C STIME TTY          TIME CMD
 2108      1368  1367  0 Jan10 pts/3    00:00:00 -bash
 2108     22303  1368  0 12:07 pts/3    00:00:00 ps -f

Vamos recriá-lo usando um formato de coluna personalizado. Observe que eu adicionei a coluna USER. Observe que também está no formato numérico.

[tcampbell@tst-agg1 ~]$ ps -o uid,user,c,stime,tty,time,cmd    
  UID USER      C STIME TT           TIME CMD
 2108 2108      0 Jan10 pts/3    00:00:00 -bash
 2108 2108      0 12:05 pts/3    00:00:00 ps -o uid,user,c,stime,tty,time,cmd

Vamos mover USER para o final da linha. Ele é expandido para a saída "correta".

[tcampbell@tst-agg1 ~]$ ps -o uid,user,c,stime,tty,time,cmd,user
  UID USER      C STIME TT           TIME CMD                         USER
 2108 2108      0 Jan10 pts/3    00:00:00 -bash                       tcampbell
 2108 2108      0 12:05 pts/3    00:00:00 ps -o uid,user,c,stime,tty, tcampbell

Porém, assim que adicionamos algo novo ao final da lista de colunas, ele volta ao formato numérico.

[tcampbell@tst-agg1 ~]$ ps -o uid,user,c,stime,tty,time,cmd,user,pid
  UID USER      C STIME TT           TIME CMD                         USER       PID
 2108 2108      0 Jan10 pts/3    00:00:00 -bash                       2108      1368
 2108 2108      0 12:05 pts/3    00:00:00 ps -o uid,user,c,stime,tty, 2108     21756
Travis Campbell
fonte
A qual SO você encontrou isso se aplica?
M111
Interessante! Eu sempre me perguntei sobre isso - por que os números estavam sendo usados. O lastcomando tem um problema relacionado: ele trunca seus registros para 8 caracteres.
Mei
Editado para refletir que eu estava falando sobre Linux. Não sei como isso passou nas minhas edições originais.
Travis Campbell
-1

[algumas letras do primeiro nome] [algumas letras do sobrenome] [nnn]

foreg: se o nome for Bill Gates, você pode usar ' biga00 ' ou bilgat000

se as próximas portas da conta chegarem, será 'biga01' ou bilgat001 'para ele

SKumar
fonte
-1

Bem, do ponto de vista de Operações, Administração e Manutenção (OAM), o nome de usuário precisa ser facilmente distinguido. No entanto, do ponto de vista comercial, o nome de usuário (alias de a / k / a email) deve ser facilmente lembrado ou lembrado por outras pessoas.

Pode ser como:

  • first.last.index@domain
  • primeiro (inicial) .last.index @ domínio
Eddie
fonte