特别是:
什么维护所有用途的兼容性时使用的最佳用户名长度限制是什么?
应避免使用哪些字符?足以应付将来可能发生的任何事情。但是,这可能太笼统了(什么都可能发生,对吧?)。
这是我们的环境:Ubuntu Server Lucid Lynx 10.04 LTS,Red Hat Enterprise Linux 5.6及更高版本,Windows Server 2003和Windows 2000 Server(在Windows 2000纯模式下具有Active Directory),用于邮件的Zimbra 7.x以及不久的将来的OpenLDAP。问题(尽管它没有回答我提出的问题)以及此网络帖子,两者都非常有用。
#1 楼
对于大型身份管理系统试图将异构系统粘合在一起,这是一个长期的问题。总是,您将被限制为最低的公分母,由于数据中心中某些地方(可能是传统的)类似Unix的系统,该分母常常是8个字符的ASCII-字母数字限制。那些花哨的现代系统可以采用任意长度的UTF8用户名,不太可能被使用。我在一个高等教育机构工作了7年,在那里我们不得不为每年5000名新学生找出8个字符的用户名。到我离开时,我们已经设法为15年的学生提供了唯一的名字。 smitj510先生,可以做到这一点
让您的生活变得无比轻松的事情:
找出最低公分母是什么分析身份管理系统的每个部分以发现限制是什么。
旧的Solaris 7系统正在强制使用8个字符的限制。
使用身份的关键应用程序数据有其自身的局限性,您必须考虑。
也许他们希望LDAP中的用户数据符合其唯一的“标准”。他们使用的数据库只能处理某些格式化的数据。
也许与Windows兼容的系统在二十年后就不再使用SAMAccountName了。 br />具有一个包含一个真实标识符(8个字符的帐户名)列表的数据库表,其链接/字段列出了诸如
firstname.lastname
之类的备用ID或可能出现的其他任何内容。现货供应软件可以做一些非常奇怪和IDM不友好的事情,例如使用数字ID作为帐户名,或基于配置文件数据自动生成帐户ID。
这也可以帮助姓名中带有非[a-z | 0-9]字符的人(例如Harry O'Neil或非ASCII字符的人,例如Alžbêta)。
构建帐户同步过程时,请利用该数据库表来确保正确的帐户获得正确的更新。当名称更改(婚姻,离婚等)时,您希望这些更改传播到正确的地方。强烈劝阻那些不可能的事情。一切都依靠中央帐户同步过程进行。
尽可能利用别名系统,例如在电子邮件中。
请考虑将8位字符的ID设为不可变,因为更改该字段可能会导致IT员工心烦意乱,因为必须重新创建帐户。
-ID不是从名称数据派生的,因为婚姻/离婚/法院命令会随着时间的推移更改名称数据。
有一个例外的系统,因为总会有一些例外。 UID每次您都要输入时都会带来痛苦的回忆吗?对您的用户友好,并允许进行这些更改的机制,但请保持安静。
尽一切可能在允许选择的系统中登录多个用户名
有些人喜欢他们的8字符uid,其他例如firstname.lastname@example.com。保持灵活性,结交朋友。
有时这需要使用CAS等单一登录框架或利用saml来使基于Web的系统领先。您会惊讶于有多少现成的系统可以支持这样的SSO框架,因此不要气our。
也就是说,将其视为数据库问题,因为这就是问题所在。选择一个主键以最大程度地与您的系统兼容(可能是8个字符),构建一个查找表以使系统将本地ID转换为主键,并设计数据同步系统以处理各种ID。
评论
神奇而精心编写的(有启发性的)答案!
–美
2012年1月11日19:46
+1用于不从名称数据中获取用户名。由于结婚/离婚而不得不重命名主目录很烦人。您关于“怪异人物”的陈述使我想起了小鲍比桌子和我旧中学的看门人,我确信他们在网上购买东西时会遇到麻烦,罗伯特·诺尔先生(我不告诉你)。
–埃文·安德森(Evan Anderson)
2012年1月11日在20:32
我喜欢“有一个例外系统,因为总会有一些例外。”部分。这绝对是真的。虽然我看不到smithj510如何创建一个很好的八个字符的用户名;)
– scherand
2012年1月11日在22:04
+1用于解决婚姻和离婚问题。这引起了很多问题。许多公司的行为都像员工是第一个必须更改其姓名的人一样。
– mhoran_psprep
2012年1月12日在2:43
@mhoran_psprep如果您足够大,您将得到某人进行合法的名字更改。在这种情况下,许多为姓氏更改设置的系统都会中断。
– sysadmin1138♦
2012年1月12日在3:03
#2 楼
具体来说,您的问题是:用于维护所有用途兼容性的最佳用户名长度限制是什么?只有“您的”用途,其中可能包括您将来的用途。我们不知道这些是什么。
应避免使用哪些字符?
这取决于您要处理的计算机系统。以Windows为例,用户名中的句点没有问题。实际上,UPN的格式类似于电子邮件地址,允许使用句点。
我的进一步想法:
不要让用户问-告诉他们是什么标准,并向要求要求更改标准的企业(非个人用户)开放。玛丽·乌特(Mary Utt)(来自以上评论),而无需让副总统参与。使IT看起来不错吧?
评论
最后的评论值得+50 :)
–美
2012年1月11日17:11
提出明智的例外至关重要。多年来,我们有许多例外情况:多个具有相同名字和姓氏的用户,具有非常长的姓氏的用户,具有相同名字和姓氏的用户,来自中国和HR的访问者的名字完全乱七八糟,他的名字被拼写为“ Raymond Luxury-Yacht”,但发音为“ Throatwobbler Mangrove” ...
–沃德-恢复莫妮卡♦
2012年1月11日18:21
BobHope,BobHope01,BobHope3,BobHopeAccounting,BobHopeHartford
– mfinni
2012年1月11日18:57
是的,例外!非洲的一些国家甚至不知道“名字”和“姓氏”的概念:父亲的名字变成儿子的姓氏,儿子得到一个新的名字...
–科尼拉克
2012年1月12日上午7:38
我建议您不仅要拥有例外政策,还要在最初的帐户创建时为可能从中受益的用户分配ID。 “我的用户名太可怕了”不应该成为新员工在第一天就需要担心的事情。对标准政策的解释,加上承认它可能不适合个人以及建议的替代方法,压力要小得多。甚至可以从HR获取联系信息,因此您可以在他们的第一天之前解决问题。
–丹在火光中摆弄
2012年1月12日15:42
#3 楼
我的经验是,对于一个足够大的企业而言,您做出的任何决定总是会遇到问题。即使今天可以使用,明天仍然会实施您的系统,该系统存在先前标准的问题(长度问题,字符问题等)。确保确定对Firstname.Lastname的推送是否与电子邮件有关,而不一定与登录名有关。我很难相信用户要在登录时键入“ John.Smith”而不是“ jsmith”,但是我对他想要“ John.Smith@company.com”的想法大为推崇。 ”作为他的电子邮件地址。正如@Mfinni指出的那样,用户总是可以选择使用多个电子邮件别名,转发等。让用户知道存在将用户名与电子邮件地址分离的选项可以更改请求的动态。
评论
并不是说用户只能拥有一个电子邮件地址。总有别名和转发。
– mfinni
2012年1月11日在16:46
我们的用户UPN和主要电子邮件地址在任何时候都是相同的,因此我们只是告诉我们的用户,无论他们尝试登录到何处,都使用他们的电子邮件地址登录。 netbios。
–pauska
2012年1月11日19:01
我的经验是,对于一个足够大的企业而言,您做出的任何决定总是会遇到问题。即使今天可以使用,明天实施的系统总会有问题。”-我们可以称其为安德森定律吗?
–频率
2012年1月11日20:25
@Freiheit:我的说法不配其自己的名字...>微笑<确实是由于墨菲定律在IT领域的普遍应用引起的。墨菲生活在IT中...
–埃文·安德森(Evan Anderson)
2012年1月11日在20:31
希望我现在没有社区Wiki ...>微笑<
–埃文·安德森(Evan Anderson)
2012年1月11日在20:33
#4 楼
对于Unix和Linux系统,{firstInitial} {lastname}显然是理想的选择。 br />评论
我不同意,但是您能解释为什么这么说吗?
– mfinni
2012年1月12日13:45
实际上,我不同意。在上一份工作的AIX系统上,我们被限制为8个字符。因此,mfinnigan是不可能的。我必须是mfinniga。因此,请扩大您的答案。
– mfinni
2012年1月12日14:50
这是主观答案,没有任何解释。可以很容易地说,对于UNIX,{firstInitial} {middleInitial} {lastInitial}是“理想的”,因为这是UNIX的始创之年,这就是多年来的方式(直到拥有数千名用户名的公司的公司开始使用它...)。
–美
2012年1月12日15:57
嗯,我想这可能是个玩笑。他的名字叫“ root”,是Unix系统上的重要用户。
–杰弗里
2012年1月13日下午6:09
...哦,噢,哎呀!滑稽!不知道我怎么想念它。
–美
2012年1月13日17:18
#5 楼
在跨平台设置命名标准时要注意的一件事是Linux(可能还有其他Unix OS)中ps中的一个特殊外观问题。您可能会或可能不会在乎这一点(但是这可能会令不期望的人感到震惊……我曾经让安全人员抽搐过这个)。显示最多8个字符的用户名。如果用户名超过8个字符,它将切换为打印实际的数字UID。您可以通过使用包含USER字段的自定义ps列格式来解决此问题,但是只有USER是最后一列(根据我的经验测试)。大多数人可能对此并不关心,但是,如果您要对ps输出进行某种处理并期望出现真实的用户名,则应谨慎使用名称长度(否则,您将在代码中加入一些技巧以使ps做正确的事情)。
例如:
这是完整格式列表的默认列格式。请注意,我的uid是数字格式,因为我的用户名大于8个字符。
[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
让我们使用自定义列格式重新创建它。请注意,我已经添加了USER列。请注意,它也是数字格式。
[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
将USER移至行尾。它会扩展到“正确”的输出。
[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
但是,一旦我们在列列表的末尾添加新内容,它就会恢复为数字形式。
[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
评论
您发现这适用于哪个操作系统?
– mfinni
2012年1月11日18:58
有趣!我一直想知道-为什么要使用数字。最后一个命令有一个相关的问题:它将记录截断为8个字符。
–美
2012年1月11日19:05
编辑以反映我在谈论Linux。不知道在我的原始编辑中它是如何消失的。
–特拉维斯·坎贝尔
2012年1月12日在16:58
#6 楼
[姓氏的某些字母] [姓氏的一些字母] [nnn]前叉:如果名称是Bill Gates,则可以使用'biga00'或bilgat000
如果下一张钞票盖茨来了,对他来说应该是'biga01'或bilgat001'
#7 楼
从操作,管理和维护(OAM)的角度来看,用户名需要轻松区分。但是,从业务角度来看,用户名(a / k / a电子邮件别名)必须易于他人记住或重新调用。它可以像这样:
first.last.index@domain
first(initial).last.index @ domain
评论
您没有提及操作系统/应用程序。您是否想让它过于笼统而不能应用于任何OS / app?我们的80,000公司使用{firstInitial} {lastname}作为登录名和电子邮件地址的标准。托马斯·沃茨(Thomas Watts)先生的愤怒呼叫使我们改变了局面,他的电子邮件被我们的防火墙阻止了。足够的人会出现问题。
@MaskedPlant:我喜欢有趣的用户名。我们曾经有一个客户使用IBM RACFID标准,即“姓氏的前四个字符,首字母缩写,中间字母缩写”。可以想象,“苏珊·彭宁顿”对此并不满意。 “ Mary Utt”也不满意另一个站点上的名字缩写/姓氏...>微笑<
{first initial} {last name}似乎是最常见的,对于中小型企业来说相对安全。进行电话通话和B2B通话时,使销售部门的生活变得更容易,有了通用的约定。
我想起了迪尔伯特地带:search.dilbert.com/comic/Utthead