B.3. 代表二进制数据


二进制数据(如 JPEG 镜像)使用两种方法之一(即标准 LDIF 表示法或 base-64 编码)在 LDIF 中表示。

B.3.1. 标准 LDIF Notation

标准 LDIF 表示法使用小于(<)符号表示数据是二进制的。例如:
jpegphoto: < file:/path/to/photo
Copy to Clipboard Toggle word wrap
使用这个标准表示法,不需要指定 ldapmodify -b 参数。但是,标准表示法要求在 LDIF 文件或 LDIF 更新语句的开头添加以下行:
version: 1
Copy to Clipboard Toggle word wrap
例如:
# ldapmodify -x -D userDN -W

version: 1
dn: cn=Barney Fife,ou=People,dc=example,dc=com
changetype: modify
add: usercertificate
usercertificate;binary: < file: BarneysCert
Copy to Clipboard Toggle word wrap

B.3.2. base-64 Encoding

二进制数据可以转换为 base-64,可在 LDIF 文件中用于各种数据,从镜像到 TLS 证书。使用 :: 符号标识基本 64 编码的数据。例如:
jpegPhoto::encoded_data 
Copy to Clipboard Toggle word wrap
除了二进制数据外,还必须采用 base-64 编码的其他值包括:
  • 任何以冒号(:)或空格开头的值。
  • 包含非 ASCII 数据的任何值,包括新行。
使用带有 -b 参数的 ldif 命令行工具将二进制数据转换为 LDIF 格式:
# ldif -b attribute_name 
Copy to Clipboard Toggle word wrap
attribute_name 是提供二进制数据的属性的名称。二进制数据是从标准输入中读取的,结果将写入标准输出。因此,使用重定向运算符来选择输入和输出文件。
ldif 命令行工具将使用任何输入,并使用正确的行继续和适当的属性信息对其进行格式化。ldif 工具还会评估输入是否需要 base-64 编码。例如:
# ldif -b jpegPhoto <  mark.jpg > out.ldif
Copy to Clipboard Toggle word wrap
本示例采用包含 JPEG 格式的镜像的二进制文件,并将其转换为属性 jpegPhoto 的 LDIF 格式。输出被保存到 out.ldif
-b 选项指定 ldif 实用程序应将整个输入解释为单个二进制值。如果不存在,每行都被视为单独的输入值。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat