Mei*_*Mei 60 user-accounts best-practices
我有兴趣了解人们对标准用户名的体验。我一直在使用{firstInitial}{lastname} 的地方(有时有长度限制)。现在我有用户想要{firstname}.{lastname} - 现在出现这个时期可能会导致问题。
具体来说:
更新:我没有提到具体细节的原因是我想要足够通用来处理将来可能出现的任何事情。然而,这可能是一个过于笼统的要求(任何事情都可能发生,对吧?)。
这是我们的环境:Ubuntu Server Lucid Lynx 10.04 LTS、Red Hat Enterprise Linux 5.6 及更高版本、Windows Server 2003 和 Windows 2000 Server(在 Windows 2000 Native Mode 中使用 Active Directory)、用于邮件的 Zimbra 7.x,以及附近的 OpenLDAP未来。
sys*_*138 66
对于试图将异构系统粘合在一起的大型身份管理系统来说,这是一个长期存在的问题。总是,您将被限制为最小公分母,由于数据中心内部某处的某些(可能是遗留的)类 Unix 系统,这通常是 8 个字符的 ASCII-字母数字限制。那些花哨的现代系统可以采用任意长度的 UTF8 用户名,不太可能被使用。
我在高等教育机构工作了 7 年,每年我们必须为 5000 名新生找出 8 个字符的用户名。到我离开时,我们已经为 15 年的学生想出了独特的名字。这个可以,smitj510先生
能让你的生活变得无比轻松的事情:
firstname.lastname或任何其他可能出现的内容。
也就是说,把它当作一个数据库问题来对待,因为它就是这样。选择一个与您的系统具有最大兼容性的主键(可能为 8 个字符),构建一个查找表以允许系统将本地 ID 转换为主键,并设计您的数据同步系统以处理各种 ID。
mfi*_*nni 26
没有这样的事情。只有“您的”用途,其中可能包括您未来的用途。我们不知道那些是什么。
这将取决于您正在处理的计算机系统。例如,Windows 用户名中的句点没有问题。事实上,UPN 的格式类似于电子邮件地址,允许使用句点。
Eva*_*son 20
我的经验是,对于一个足够大的企业,你做出的任何决定总会有问题。即使它今天有效,但您明天实施的系统总是存在先前标准的问题(长度问题、字符问题等)。
请务必查明对 Firstname.Lastname 的推送是否与电子邮件有关,而不必与登录名有关。我发现很难相信用户在登录时想要输入“John.Smith”而不是“jsmith”,但我更喜欢他想要“John.Smith@company.com”的想法"作为他的电子邮件地址。正如@Mfinni 指出的那样,用户总是可以选择拥有多个电子邮件别名、转发等。只要让用户知道存在将他们的用户名与他们的电子邮件地址分离的选项就可以改变请求的动态。
Rob*_*Oot 13
对于 Unix 和 Linux 系统,{firstInitial}{lastname}显然是理想的。
...
从与此帐户关联的名称中可以很明显地看出原因。
在跨平台设置命名标准时要注意的一件事是 Linux(可能还有其他 Unix 操作系统)中 ps 中的一个特殊外观问题。您可能会或可能不会在意这一点(但对于不期望它的人来说,这可能会令人担忧......我已经让安全人员对此感到不安)。
UID 列最多只能显示用户名的 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
Run Code Online (Sandbox Code Playgroud)
让我们使用自定义列格式重新创建它。请注意,我添加了 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
Run Code Online (Sandbox Code Playgroud)
让我们将 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
Run Code Online (Sandbox Code Playgroud)
但是,一旦我们在列列表的末尾添加新内容,它就会恢复为数字形式。
[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
Run Code Online (Sandbox Code Playgroud)