用户身份鉴别

操作系统通常使用口令的机制完成用户身份鉴别,openEuler提供了PAM、passwd、shadow、libuser等用户口令管理组件。用户口令在设置完成后,需要进行加密存储,通常使用哈希算法进行加密。openEuler提供的用户口令管理组件新增了对商密SM3的支持。

PAM配置用户口令加密

概述

PAM是系统的可插拔认证模块,为上层应用提供认证机制。openEuler发布的PAM新增了对SM3算法用户口令加密的支持。

前置条件

  1. PAM软件包大于或等于1.5.2-2版本:
$ rpm -qa pam
pam-1.5.2-2.oe2209.x86_64
  1. libxcrypt软件包大于或等于4.4.26-2版本:
$ rpm -qa libxcrypt
pam-4.4.26-2.oe2209.x86_64

如何使用

  1. 修改/etc/pam.d/password-auth和/etc/pam.d/system-auth文件,找到文件中“password sufficient pam_unix.so”开头的行,修改该行中算法字段为sm3:
$ cat /etc/pam.d/password-auth
......
password    sufficient    pam_unix.so sm3 shadow nullok try_first_pass use_authtok
......

$ cat /etc/pam.d/system-auth
......
password    sufficient    pam_unix.so sm3 shadow nullok try_first_pass use_authtok
......
  1. 修改配置之后通过passwd命令修改密码或新增用户创建的密码,会使用sm3算法加密,加密结果以sm3开头存储在/etc/shadow中:
$ passwd testuser 
Changing password for user testuser.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
$ cat /etc/shadow | grep testuser
testuser:$sm3$wnY86eyUlB5946gU$99LlMr0ddeZNDqnB2KRxn9f30SFCCvMv1WN1cFdsKJ2:19219:0:90:7:35::

注意事项

  1. PAM配置默认使用sha512算法,修改配置使用商密SM3算法后,对已存在的用户密码无影响,需要修改密码才能更新密码算法;
  2. 若PAM和libxcrypt要降级到非商密版本,并且已存在账户密码使用SM3算法加密,则需先修改配 置为非商密算法,再修改账号密码,再降级到非商密版本,否则这些账户将无法正常登陆。

shadow配置用户口令加密

概述

shadow是Linux系统中常用的用户管理组件,提供了chpasswd、chgpasswd与newusers等命令。openEuler提供的shadow组件新增了对商密算法SM3的支持,以在用户管理时使用SM3加密算法。因为shadow默认使用PAM安全认证机制,因此该组件支持商密算法只影响chpasswd与chgpasswd命令。

前置条件

shadow大于或等于4.9-4版本:

$ rpm -qa shadow
shadow-4.9-4.oe2209.x86_64

如何使用

  1. chpasswd默认使用pam配置,通过-c指定SM3算法,会以SM3算法加密,加密结果以sm3开头存储在/etc/shadow中:
$ echo testuser:testPassword |chpasswd -c SM3
$ cat /etc/shadow | grep testuser
testuser:$sm3$moojQQeBfdGOrL14$NqjckLHlk3ICs1cx.0rKZwRHafjVlqksdSJqfx9eYh6:19220:0:99999:7:::
  1. chgpasswd默认使用pam配置,通过-c指定SM3算法,会以SM3算法加密,加密结果以sm3开头存储在/etc/shadow中:
$ echo testGroup:testPassword |chpasswd -c SM3
$ cat /etc/gshadow | grep testGroup
testGroup:$sm3$S3h3X6U6KsXg2Gkc$LFCAnKbi6JItarQz4Y/Aq9/hEbEMQXq9nQ4rY1j9BY9::

注意事项

shadow默认使用PAM安全认证机制,相关命令使用-c参数指定加密算法时,不使用PAM机制。

libuser配置用户口令加密

概述

libuser库实现了一个标准化的接口,用于操作和管理用户和组帐户。该库经过封装,对外提供了命令行接口和python接口,用于管理用户和组。其中涉及用户密码的管理,支持使用des、md5、blowfish、sha256、sha512等算法对用户口令进行加密,openEuler发布的libuser新增了对SM3算法加密支持。

前置条件

libuser大于或等于0.63-3版本:

$ rpm -qa libuser
libuser-0.63-3.oe2209.x86_64

如何使用

  1. 编辑/etc/libuser.conf,修改[defaults]域crypt_style=sm3:
$ cat /etc/libuser.conf
......
[defaults]
crypt_style = sm3
......
  1. 通过lusermod、lpasswd、luseradd等命令设置用户口令时,口令加密算法默认为sm3。加密结果以sm3开头存储在/etc/shadow中:
# luseradd  testuser -P Test@123
# cat /etc/shadow | grep testuser
testuser:$sm3$1IJtoN6zlBDCiPKC$5oxscBTgiquPAEmZWGNDVqTPrboHJw3fFSohjF6sONB:18862:0:90:7:35::

文档捉虫

“有虫”文档片段

问题描述

提交类型 issue
有点复杂...
找人问问吧。
PR
小问题,全程线上修改...
一键搞定!
问题类型
规范和低错类

● 错别字或拼写错误;标点符号使用错误;

● 链接错误、空单元格、格式错误;

● 英文中包含中文字符;

● 界面和描述不一致,但不影响操作;

● 表述不通顺,但不影响理解;

● 版本号不匹配:如软件包名称、界面版本号;

易用性

● 关键步骤错误或缺失,无法指导用户完成任务;

● 缺少必要的前提条件、注意事项等;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

正确性

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 命令、命令参数等错误;

● 代码片段错误;

● 命令无法完成对应功能;

● 界面错误,无法指导操作;

风险提示

● 对重要数据或系统存在风险的操作,缺少安全提示;

内容合规

● 违反法律法规,涉及政治、领土主权等敏感词;

● 内容侵权;

您对文档的总体满意度

非常不满意
非常满意
提交
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。