当前位置: 首页 > news >正文

openldap之slappasswd

slappasswd 是 OpenLDAP 中用于生成加密密码的工具。它对于安全地存储LDAP密码非常重要。下面详细介绍它的使用方法:

基本用法

1. 交互式模式(最常用)

bash
slappasswd

执行后:

  • 系统会提示:New password: (输入密码,不会显示)

  • 再次提示:Re-enter new password: (确认密码)

  • 输出加密后的密码,如:{SSHA}qv8X8l4GHWgoh35fQr0NvYGM+OdfcR1P

2. 命令行直接指定密码

bash
# 不安全的做法,密码会留在命令历史中
slappasswd -s "your_password"# 从文件读取密码(相对安全)
slappasswd -s "$(cat /path/to/password_file)"

常用参数选项

bash
# 指定加密算法
slappasswd -h {MD5}         # 使用MD5加密
slappasswd -h {SHA}         # 使用SHA加密
slappasswd -h {SSHA}        # 使用加盐的SHA(默认,最推荐)
slappasswd -h {CRYPT}       # 使用crypt加密
slappasswd -h {SMD5}        # 使用加盐的MD5# 指定密码
slappasswd -s "mypassword123"# 输出到文件而不是屏幕
slappasswd -s "mypassword123" -o /path/to/encrypted_password_file# 显示帮助信息
slappasswd -H

实际应用示例

场景1:创建LDAP用户时生成加密密码

bash
# 生成加密密码
slappasswd -s "user123password"
# 输出:{SSHA}8Qxd9zrWcBzJCW2rGv9Q7Vp3x5Yzabc1# 在LDIF文件中使用
cat > add_user.ldif << EOF
dn: uid=user1,ou=people,dc=linx-info,dc=com
objectClass: inetOrgPerson
uid: user1
cn: Test User
sn: User
userPassword: {SSHA}8Qxd9zrWcBzJCW2rGv9Q7Vp3x5Yzabc1
EOF

场景2:修改现有用户密码

bash
# 生成新密码
NEW_PASSWORD_HASH=$(slappasswd -s "new_password_123")# 创建修改文件
cat > change_pass.ldif << EOF
dn: uid=user1,ou=people,dc=linx-info,dc=com
changetype: modify
replace: userPassword
userPassword: $NEW_PASSWORD_HASH
EOF# 执行修改
ldapmodify -H ldap://your-server -D "cn=admin,dc=linx-info,dc=com" -W -f change_pass.ldif

场景3:批量创建用户脚本

bash
#!/bin/bash
USERNAME=$1
PLAIN_PASSWORD=$2# 生成加密密码
ENCRYPTED_PASS=$(slappasswd -s "$PLAIN_PASSWORD")cat > /tmp/add_$USERNAME.ldif << EOF
dn: uid=$USERNAME,ou=people,dc=linx-info,dc=com
objectClass: inetOrgPerson
uid: $USERNAME
cn: $USERNAME
sn: $USERNAME
userPassword: $ENCRYPTED_PASS
EOFecho "LDIF file created for user: $USERNAME"

支持的加密算法比较

 
算法示例输出安全性说明
{SSHA} {SSHA}qv8X8l4GHWg... ★★★★★ 加盐SHA,最推荐
{SHA} {SHA}5baa61e4c9... ★★★★ 不加盐SHA
{SMD5} {SMD5}4Qxd9zrWcBz... ★★★ 加盐MD5
{MD5} {MD5}5d41402ab... ★★ 普通MD5,较弱
{CRYPT} {CRYPT}ab1C2d3E... ★★★★ 系统crypt

安全最佳实践

  1. 使用SSHA:

    bash
    # 总是使用加盐的SHA
    slappasswd -h {SSHA} -s "your_password"
  2. 避免密码泄露:

    bash
    # 错误:密码会留在历史中
    slappasswd -s "password123"# 正确:交互式输入
    slappasswd
  3. 文件权限:

    bash
    # 如果输出到文件,设置严格权限
    slappasswd -s "password123" -o /tmp/pass.txt
    chmod 600 /tmp/pass.txt

验证密码(如果需要)

虽然 slappasswd 只用于生成,但您可以用以下方式验证:

bash
# 生成测试
HASH1=$(slappasswd -s "test123")
HASH2=$(slappasswd -s "test123")# 两个哈希值应该不同(因为盐值不同),但都能验证同一密码
echo "Hash 1: $HASH1"
echo "Hash 2: $HASH2"

在LDAP配置中使用

在 slapd.conf 或动态配置中,root密码通常也这样设置:

bash
# 生成root密码
slappasswd -s "admin_secret_password"# 在配置中使用
olcRootPW: {SSHA}qv8X8l4GHWgoh35fQr0NvYGM+OdfcR1P

记住:永远不要使用明文密码存储在任何LDAP条目中!总是使用 slappasswd 生成的加密哈希。

http://www.rkmt.cn/news/20996.html

相关文章:

  • 【STM32 系列】理清 xxRAM、xxROM、xxFlash 的核心作用,附 H7 系列超便捷内存区域管理方法
  • 今天被公司告知不续签合同了,我被优化了 哈哈哈
  • 2025 年混合机厂家最新推荐排行榜:强力混合机 / 倾斜式混合机 / 耐火材料混合机 / 锂电池材料混合机 / 球团强力混合机优质厂家推荐
  • 2025 优质防爆接线盒/防爆穿线盒/防爆接电箱厂家推荐榜:安全与专业兼具的行业之选
  • Microsoft Purview实现数据泄露概率降低30%的技术解析
  • springboot实现微信支付
  • 10080 端口打不开页面
  • pringcloud 中的gateway详解一下,其中的原理
  • 用 Python + Vue3 打造超炫酷音乐播放器:网易云歌单爬取 + Three.js 波形可视化
  • 读书笔记:时间戳(TIMESTAMP)类型:比日期更强大的时间管理工具
  • 在线PS(Photoshop网页版)如何加马赛克,保护隐私的小技巧
  • 2025 深圳点胶机厂家实用推荐榜:从精密制造到行业适配的优选指南
  • 2025 广东洗头机厂家推荐榜:从家用到商用的品质之选
  • 深入解析:XC7A100T-2CSG324I 赛灵思 Xilinx AMD Artix-7 FPGA
  • excel单元格粘贴显示科学计数法,需要展示完整的字符串的解决方法
  • 2025法兰保护罩厂家推荐:荣专科技,专业制造防溅保温优质产品!
  • 在CentOS 7.9系统上使用Docker部署RuoYi-Vue前后端分离系统
  • uni-app x使用uview-plus
  • 详细介绍:【数据结构与算法-Day 36】查找算法入门:从顺序查找的朴素到二分查找的惊艳
  • MATLAB频散曲线绘制与相速度群速度分析
  • boofuzz学习
  • 鸿蒙项目实战(十一):事件通知EventBus
  • BLE动态修改广播地址
  • 2025年扑灭司林厂家最新推荐排行榜,高效环保扑灭司林,专业生产与市场口碑深度解析!
  • 解决Win11 24H2 缺少Microsoft Print to PDF组件,重新添加出现0x800f0922错误的问题
  • “顾客需求必响应”!国标GB28181算法算力平台EasyGBS国标协议报警预案怎么弄?4步实操指南来了
  • Java 23种设计模式的详细解析
  • 分布式计数器平台完整解决方案
  • 微算法科技MLGO推出隐私感知联合DNN模型部署和分区优化技术,开启协作边缘推理新时代
  • 2025 年污水处理设备厂家最新推荐!国内优质厂家综合实力排行榜,助力企业精准挑选高效环保处理设备