EDRN目录服务工具包
项目描述
🏃 JPL EDRN LDAP Utilities
此软件包仅包含一些针对早期检测研究网络目录服务的实用工具。EDRN目录服务是一个基于OpenLDAP的独立目录,同时也能处理用户和组信息,不仅限于EDRN,还涉及两个其他联盟
- 筛查发现的病变的分子和细胞特征联盟
- 国家标准与技术研究院
💽 安装
此软件需要Python 3。建议使用Python 3.9或更高版本,但Python 4不可用。通常,您会创建一个虚拟环境,并使用类似以下命令安装软件
python3 -m venv ldap-utils
cd ldap-utils
bin/pip install --upgrade --quiet setuptools wheel pip
bin/pip install jpl.edrn.ldap.utils==X.Y.Z
其中 X.Y.Z
是您想要的版本。要升级现有安装,请添加 --upgrade
。然后“激活”虚拟环境(或使用程序的完整路径,例如 ldap-utils/bin/create-users
)。
👩🔧 使用
目前唯一的实用工具是 create-users
脚本,您可以通过以下方式运行它
create-users USERSFILE
其中USERSFILE是一个CSV文件,包含要添加到LDAP服务器的用户 以及可选的纯文本密码。例如,您会运行
create-users --url ldaps://naming.jpl.nasa.gov --replace newusers.csv
将newusers.csv
中的用户添加到naming.jpl.nasa.gov
上的LDAP服务器。如果没有指定USERSFILE
,程序将从标准输入读取CSV数据。
💁♀️ 命令行选项
您可以使用以下命令行选项微调create-users
的行为
选项 | 用法 | 默认 |
---|---|---|
-r ,--replace |
如果指定,则替换现有用户,覆盖所有属性 | 不替换 |
-b ,--base |
所有用户的基准DN | ou=users,o=NIST |
-o ,--objectclass |
新用户的对象类 | (见下文) |
-h ,--url |
LDAP服务器的URL | ldaps://edrn-ds.jpl.nasa.gov |
-D ,--manager-dn |
LDAP管理用户DN | 合理的默认值 |
-w ,--password |
LDAP管理用户密码 | (见下文) |
⚠️请注意-r
或--replace
。如果用户更改了密码、电子邮件地址或其他属性,并且他们的用户名出现在CSV文件中,则这些更改将丢失。
此外,您还可以指定--debug
,这将导致create-users
在操作期间打印详细的调试消息,或指定--quiet
,这将导致它只报告错误。默认情况下,它只提供信息性消息。您还可以使用--help
获取所有命令行选项的摘要,包括--version
,它会告诉您正在运行哪个版本。
🎓 对象类
用户的默认对象类是
inetOrgPerson
organizationalPerson
person
top
您可以通过提供-o
或--objectclass
来覆盖此设置;例如
create-users … --objectclass edrnPerson inetOrgPerson person top …
🔑 LDAP管理密码
create-users
程序自然需要LDAP管理员的密码,以便它可以更新用户数据。您可以在命令行上使用-w
或--password
提供密码,但请注意,系统上的其他程序和用户将能够看到此密码。
如果没有指定-w
或--password
,密码将从MANAGER_DN_PASSWORD
环境变量中获取。如果它是空的或未设置,您将被提示输入密码——这是提供密码的最安全方式。
🗂️ CSV文件格式
create-users
期望的单个CSV文件应具有以下列
列 | 用途 | 映射LDAP属性 |
---|---|---|
0 | 纯用户ID(不是一个唯一名称),例如joe 或jschmoe |
uid (加基准DN) |
1 | 姓氏,例如Schmoe |
sn |
2 | 常用名,例如Joe Schmoe |
cn |
3 | 电子邮件地址 | mail |
4 | 密码,但可能为空(见下文) | userPassword |
如果第一行和第一列(行0,列0)包含单词uid
,则假定它是一个“标题行”,并将其跳过。如果有这些五个列之外的额外列,则忽略。请注意,列4应包含用于创建用户的plain text password
。然而,如果它是空的,则将为用户生成一个随机密码。
👉 注意:随机生成的密码无法恢复。这些用户将需要使用您的“忘记密码”功能(如果有的话)来重置他们的密码。
以下是一个CSV文件(带有标题行)的示例,描述了三个用户,其中中间的用户将获得一个随机密码
uid,sn,cn,mail,password
joe,Schmoe,Joe Schmoe,joe@joe.com,h1ghly s3cr3t
waldo,Waldo,Where Is Waldo,waldo@waldo,com
lsimpson,Simpson,Lisa Simpson,lisa@simpsons.tv,bGdfj3z!jf01
👨👩👧👦 组
create-users
程序对用户的LDAP组不进行任何操作。您必须自行管理这些组。例如,您可以创建一个类似这样的LDIF文件
dn: cn=My Group,ou=groups,o=NIST
objectClass: groupOfUniqueNames
objectClass: top
cn: My Group
uniqueMember: uid=joe,ou=users,o=NIST
uniqueMember: uid=waldo,ou=users,o=NIST
uniqueMember: uid=lsimpson,ou=users,o=NIST
并使用ldapadd
来创建组。
🔧 开发
要本地开发此程序,请尝试以下操作
git clone https://github.com/EDRN/jpl.edrn.ldap.utils
cd jpl.edrn.ldap.utils
python3 -m venv .venv
.venv/bin/pip install --upgrade --silet setuptools build dist wheel
.venv/bin/pip install --editable .
.venv/bin/create-users …
👥 贡献
您可以从查看 开放问题、分叉项目并提交拉取请求开始。您还可以通过电子邮件 联系我们 提出建议。
🔢 版本号
我们使用 SemVer 哲学为该软件进行版本控制。有关可用版本,请参阅本项目上发布的 版本。
👩🎨 创作者
主要开发者是
📃 许可证
该项目采用 Apache 2.0 许可协议。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码发行版
构建发行版
jpl.edrn.ldap.utils-0.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 036156b004a22f06c98914886fd2a2357143e421c860f341404c702fb7ac233b |
|
MD5 | 6ecda919680bfa4306c837471a39f494 |
|
BLAKE2b-256 | b61b66f2b1fbb4d0338aea91bf9cb2513e245f81e9f7bf39aecfa35845f2850a |
jpl.edrn.ldap.utils-0.0.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c19a4908876f862930c83db73da65faf22829935a5c57948b3ce0ba572b79423 |
|
MD5 | e15eed7c79154c5e5f4e24b830dde0a1 |
|
BLAKE2b-256 | 437cd90cf01be9f665b2ad631880c668dea2b5b59d7e78baab99be1697573488 |