Slappasswd是Linux中的密码生成器,主要用于生成基于LDAP的用户密码。它可以按照OpenLDAP的要求生成密码,包括添加Salt,支持编号哈希等。
以下是Slappasswd的使用方法:
生成密码
Slappasswd的最基本用法是生成一个密码。使用以下命令:
slappasswd
该命令会显示一个随机生成的密码。例如:
{SSHA}TVSnDzyGMah/nHm32db+ZnxsfdREkYmH
如果想要生成其他类型的密码,可以使用命令选项。例如,生成{SHA}哈希类型的密码:
slappasswd -h {SHA}
生成{SSHA}哈希类型的密码(包含Salt):
slappasswd -h {SSHA}
如果想要生成{SSHA}哈希类型的密码并手动输入Salt,可以使用以下命令:
slappasswd -h {SSHA} -s 'mysalt'
注意, Salt值必须使用单引号括起来。
应用于LDAP
在LDAP中使用Slappasswd可以保证安全,同时也可以保证密码的存储格式与常规格式一致。
在OpenLDAP中,可以在配置文件(slapd.conf或者slapd.d下的cn=config)中定义一些默认参数。例如,可以定义哈希算法、Salt值、迭代次数等等。以下是一个示例:
password-hash {SSHA}
password-crypt-salt-format %s
password-crypt-salt-prefix _5R5R5R5R5R
password-crypt-salt-length 8
password-hash-crypt-iterations 10000
这里定义了密码哈希算法为{SSHA},Salt值前缀为_5R5R5R5R5R,Salt值长度为8,迭代次数为10000。这些值将会在新建用户时自动应用。
例如,在OpenLDAP中添加一个名为“user1”的用户,并使用Slappasswd定义密码:
dn: cn=user1,dc=example,dc=com
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
cn: user1
sn: user1
givenName: user1
mail: user1@example.com
userPassword: {SSHA}$(slappasswd -h {SSHA} -s 'salt') # 使用Slappasswd生成密码
uid: user1
注意,你也可以使用其他哈希算法,只需要在-h
后面指定即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux slappasswd命令 - Python技术站