Linux-使用 authselect 配置用户授权
在类
CentOS 8
的系统中,使用
authselect
工具代替了
authconfig
来管理系统授权。传统的一些鉴权方式,也做了修改。
支持功能
authselect sssd
的配置文件和支持的功能包括:
功能名称 | 功能描述 |
---|---|
with-faillock | 在多次身份验证失败后锁定账户 |
with-mkhomedir | 在用户首次登录时创建主目录 |
with-sudo | 允许sudo对 /etc/sudoers 之外的规则使用SSSD |
without-nullock | 不要将 nullock 参数添加到 pam_unix |
然而一般来说,最常用的也就前两者而已。
使用SSSD
做为CentOS8中默认的配置文件,
authselect sssd
的功能将被自动启动。先查看一下当前的鉴权配置:
authselect current
# 没有配置时返回
No existing configuration detected.
# 配置后则返回
Profile ID: sssd
Enabled features: None
可以看到虽然配置了SSSD,但是并未开启任何特性,可以通过
enable-feature
命令来启用功能特性:
authselect enable-feature with-faillock
修改配置
当我们使用了SSSD做为系统的鉴权管理后,关于鉴权的修改,不应该再按照习惯性的操作去编辑
/etc/pam.d/system-auth
和
/etc/pam.d/password-auth
等相关文件。此时查看
/etc/pam.d/
目录时,会发现这几个文件已经变成了软连接,指向
/etc/authselect
目录中的对应文件,并且文件头部都有显著文案提示不要直接修改这些文件,那但我们要使用这些配置时,该如何操作呢?
此时我们应该通过修改
/usr/share/authselect/default/sssd
目录中的相应文件,然后通过命令使其生效:
authselect apply-change
自定义模板
上面的配置,都是选在系统默认的基础上进行配置的,那么如果我们不想直接改动系统默认配置,而是想新建一组配置文件该怎么操作呢?
答案当然是可以的,我们可以通过
create-profile
命令来创建一组配置文件,在此基础上修改,然后使用
select
命令启用:
authselect create-profile user-profile -b sssd --symlink-meta --symlink-pam
authselect select custom/user-profile
create-profile
命令的参数选项含义如下:
选项 | 描述 |
---|---|
newprofile | 个性化配置的名称 |
-b | 指定个性化配置的基础模板 |
-symlink-meta | 在原始目录中创建指向正在用作基础的模板配置文件元文件的符号链接。 |
-symlink-pam | 在原始目录中创建指向作为基础使用的模板配置文件的PAM模板的符号链接。 |
参考资料