在 Unix/Solaris 中验证用户名
Posted
技术标签:
【中文标题】在 Unix/Solaris 中验证用户名【英文标题】:Validate the user name in Unix/Solaris 【发布时间】:2012-04-19 01:44:39 【问题描述】:是否有任何 C API 用于验证用户名?
我正在输入当时可能不存在的用户名。 由于用户名需要遵循 POSIX 规则,是否有任何 C API 可以进行验证?
【问题讨论】:
另见以下问题:***.com/questions/6949667/… 【参考方案1】:我假设您正在尝试确定您正在运行的系统上是否存在用户名。为此,您正在寻找 getwpent()
/getpwnam()
-- 查看手册页了解详细信息。
尽管这些返回的信息比您想要的多,getpwnam()
也会(轻松)告诉您是否存在与给定用户名对应的密码文件条目。
(如果您只是想确保用户名仅包含有效字符,请确保它仅包含 [A-Za-z0-9_]+
)
【讨论】:
用户名应该不是纯数字;至少,如果用户名看起来像一个数字,您可能会感到困惑(如果 UID 与名称不是同一个数字,那么您可能会感到困惑——是的,您可以这样做;不,您不应该这样做!)。跨度> 是的,这是真的。我想正确的正则表达式是 [A-Za-z_][A-Za-z_0-9]*以上是关于在 Unix/Solaris 中验证用户名的主要内容,如果未能解决你的问题,请参考以下文章
java入门---windows和Linux,UNIX,Solaris,FreeBSD下开发环境配置