13.9.3. 配置 POSIX 系统 ACL

POSIX 系统访问控制规则为系统用户权限提供精细粒度。必须在完全配置后为每个实例设置这些 ACL。有关 ACL 的详情,请查看 Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp 中对应的章节;Linux 存储管理指南

13.9.3.1. 为 CA、KRA、OCSP、TKS 和 TPS 设置 POSIX 系统 ACL

现代文件系统(如 ext4 和 XFS)默认启用 ACL,最有可能在现代 Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 安装中使用。
  1. 停止该实例。
    systemctl stop pki-tomcatd@instance_name.service
  2. 将实例的目录和文件的 pkiadmin 组设置为 pkiadmin 组。
    # setfacl -R -L -m g:pkiadmin:r,d:g:pkiadmin:r /var/lib/pki/instance_name
  3. 在所有目录中应用执行(x)ACL 权限:
    # find -L /var/lib/pki/instance_name -type d -exec setfacl -L -n -m g:pkiadmin:rx,d:g:pkiadmin:rx {} \;
  4. 从实例的 signedAudit/ 目录及其相关文件中删除 pkiadmin 组的组可读性:
    # setfacl -R -L -x g:pkiadmin,d:g:pkiadmin /var/lib/pki/instance_name/logs/signedAudit
  5. 为实例的 signedAudit/ 目录及其相关文件设置 pkiaudit 组的组可读性:
    # setfacl -R -L -m g:pkiaudit:r,d:g:pkiaudit:r /var/lib/pki/instance_name/logs/signedAudit
  6. 重新对签名Audit/ 目录及其所有子目录重新执行(x)ACL 权限:
    # find -L /var/lib/pki/instance_name/logs/signedAudit -type d -exec setfacl -L -n -m g:pkiaudit:rx,d:g:pkiaudit:rx {} \;
  7. 启动实例。
    systemctl start pki-tomcatd@instance_name.service
  8. 使用 getfacl 命令显示当前 ACL 设置,确认文件访问控制是否已正确应用:
    # getfacl /var/lib/pki/instance_name /var/lib/pki/instance_name/subsystem_type/logs/signedAudit/
    getfacl: Removing leading '/' from absolute path names
    # file: var/lib/pki/instance_name
    # owner: pkiuser
    # group: pkiuser
    user::rwx
    group::rwx
    group:pkiadmin:r-x
    mask::rwx
    other::r-x
    default:user::rwx
    default:group::rwx
    default:group:pkiadmin:r-x
    default:mask::rwx
    default:other::r-x
    
    # file: var/lib/pki/instance_name/logs/signedAudit
    # owner: pkiuser
    # group: pkiaudit
    user::rwx
    group::rwx
    group:pkiaudit:r-x
    mask::rwx
    other::---
    default:user::rwx
    default:group::rwx
    default:group:pkiaudit:r-x
    default:mask::rwx
    default:other::---