关于安装、配置及管理IdP用户权限的说明:
- IdP5.1.2安装步骤中,关于系统环境配置,如设置主机名称、关闭SElinux、配置时间同步服务等需要root权限,建议直接使用root用户执行相关操作。
- 建议创建普通用户“carsi”,并通过sudo方式赋予carsi用户root权限。本手册以此方式执行命令,学校在配置carsi sudo授权时,应遵守本校安全策略,尽量采用精细化授权管理策略。
- 使用carsi用户安装和配置IdP4后,未来IdP运行维护等相关操作,也建议使用carsi用户执行。
- 本操作手册中,root用户执行的相关命令,命令前有[root@www ~]#的标识,而由carsi用户执行的命令,命令前有[carsi@www ~]$的标识。
1.修改主机名
后续IdP安装脚本会使用主机名作为IdP域名,建议将主机名称与IdP域名保持一致。
[root@www ~]# hostnamectl set-hostname idp.xxx.xxx.xxx
2.关闭SElinux
考虑到SELinux 的复杂性,在测试及运行IdP的环境关闭了SElinux,如有学校需要打开SElinux功能,请自行进行测试及配置。
#关闭开机启动SELinux [root@www ~]#setenforce 0 [root@www ~]# vi /etc/selinux/config # line 7:修改如下。此修改重启系统后生效。如果SELINUX已经是disabled,则不用做任何修改。 SELINUX=disabled #查看当前selinux状态,disabled表示selinux已关闭 [root@www ~]# getenforce disabled
3.配置时间同步
IdP运行需要与SP通信,通信过程需要严格保证时间同步,否则会出现异常,因此需要为IdP服务器配置时间同步服务器。 如果学校有自建NTP服务器,请修改以下参数配置为学校NTP服务器IP地址或域名。如果学校没有自建NTP服务器可以使用阿里云NTP服务器。
方法一:配置chrony时间同步服务(系统缺省自带,推荐)
检查是否已经安装了chrony时间同步服务。如果系统已经配置了chronyd服务,则下面的ntp安装和配置时间同步的过程可以忽略。
#不同操作系统版本,可能安装的chrony版本不一样。 [root@www ~]# rpm -qa|grep chrony chrony-4.1-1.oe2203.x86_64 #不同操作系统,显示的不完全一样。 [root@www ~]# systemctl is-enabled chronyd enabled #命令行配置时区,推荐使用学校自有ntp服务器,也可使用阿里云ntp服务器 [root@www ~]# timedatectl set-timezone Asia/Shanghai #编辑文件/etc/chrony.conf配置ntp服务器和时区,推荐使用学校自有ntp服务器,也可使用阿里云ntp服务器,对于openAnolis系统,可以忽略这步。 [root@www ~]# vi /etc/chrony.conf # Use public servers from the pool.ntp.org project. # Please consider joining the pool (https://www.pool.ntp.org/join.html). # pool pool.ntp.org iburst server ntp.aliyun.com #重启时间同步服务,并且查看当前状态 [root@www ~]# systemctl restart chronyd [root@www ~]# chronyc sources MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^? 203.107.6.88 2 6 3 35 +94ms[ +94ms] +/- 17ms
方法二:配置ntp时间同步服务
#从欧拉官网下载安装ntp服务包(需确保服务器可访问互联网) [root@www ~]# yum -y install ntp #命令行配置ntp服务器和时区,推荐使用学校自有ntp服务器,也可使用阿里云ntp服务器 [root@www ~]# ntpdate -u ntp.aliyun.com [root@www ~]# timedatectl set-timezone Asia/Shanghai #编辑文件/etc/ntp.conf配置ntp服务器和时区,推荐使用学校自有ntp服务器,也可使用阿里云ntp服务器 [root@www ~]# vi /etc/ntp.conf # Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). # pool 2.openEuler.pool.ntp.org iburst server ntp.aliyun.com #设置时间同步服务开机自动启动,并且查看当前状态 [root@www ~]# systemctl start ntpd [root@www ~]# systemctl enable ntpd [root@www ~]# ntpq -p
4.本机防火墙开放服务端口
IdP本机开放80、443端口。443端口提供https web服务,IdP服务使用,必须打开。80端口用于某些HTTPS证书在更新时的连接性测试(如Let's Encrypt),可根据实际情况选择是否开启。
#检查本机的防火墙开通状态,如果是新安装的系统,确保防火墙是deny all。 [root@www ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: dhcpv6-client mdns ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #本机防火墙上开放相应端口(样例中http和https分别配置为使用80和443端口) [root@www ~]# firewall-cmd --add-service=http --permanent [root@www ~]# firewall-cmd --add-service=https --permanent # 执行上面两步成功后,需要reload刷新本机防火墙 [root@www ~]# firewall-cmd --reload #此时检查防火墙开通情况,在services项中多了http和https,表示已经开通80和443端口 [root@www ~]# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: dhcpv6-client http https mdns ssh ports: protocols: forward: yes masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
如果本机前面配置有其他防火墙,请联系防火墙管理员开通:外部服务器可访问本机80 、443端口(TCP端口)。
5. 检查Java运行环境
[root@www ~]# rpm -qa|grep java
IdP4.3.1安装脚本会自动安装java-11-openjdk-devel版本,如果已经安装了其它版本Java,建议删除。
6. 创建普通用户carsi为安装IdP做准备
[root@www ~]# useradd carsi [root@www ~]# passwd carsi Changing password for user carsi. New password: //输入carsi密码 Retype new password: //再次输入carsi密码 passwd: all authentication tokens updated successfully.
7. 给carsi进行sudo授权
[root@www ~]# vi /etc/sudoers #加入以下配置 carsi ALL=(ALL) ALL
注:保存文件时请使用:w!进行强制保存
8. 重启操作系统
[root@www ~]# reboot