为隔离WebLogic进程与系统其他用户,需创建专用用户及组。执行以下命令:
# 创建weblogic用户组
sudo groupadd weblogic
# 创建weblogic用户并加入该组(-g指定主组)
sudo useradd -g weblogic weblogic
# 设置用户密码(交互式输入)
sudo passwd weblogic
说明:weblogic
用户将作为WebLogic服务运行主体,避免使用root用户运行服务。
确保weblogic
用户对安装目录、域目录等有完全控制权,防止未授权访问:
# 假设WebLogic安装目录为/home/weblogic
sudo mkdir -p /home/weblogic
sudo chown -R weblogic:weblogic /home/weblogic # 递归修改所有者和组
sudo chmod 700 /home/weblogic # 仅所有者可读、写、执行(严格权限)
若安装目录为/u01/app/weblogic
,则替换对应路径。注意:chmod 700
比777
更安全,避免其他用户访问。
域目录包含配置文件、日志及应用,需严格限制权限:
# 假设域目录为/weblogic/user_projects/domains/base_domain
sudo chown -R weblogic:weblogic /weblogic/user_projects/domains/base_domain
sudo chmod -R 750 /weblogic/user_projects/domains/base_domain # 所有者可读写执行,组可读执行
说明:域目录下的servers/AdminServer
(管理员服务器目录)需保持相同权限,确保管理员操作安全。
通过WebLogic控制台配置角色、策略,控制用户对资源的访问:
http://<服务器IP>:7001/console
,使用管理员账号(如weblogic
)登录。Security Realms → myrealm → Users and Groups
,点击New
创建用户(如admin_user
),并分配到组(如Administrators
)。Security Realms → myrealm → Roles and Policies
,选择资源类型(如Web Application
),创建策略(如Allow
)并添加条件(如Group
为Administrators
),限制仅该组可访问。通过WLST(WebLogic Scripting Tool)脚本批量创建用户、分配组,提升效率:
# 连接到WebLogic服务器(替换为实际账号密码)
connect('weblogic', 'weblogic_password', 't3://localhost:7001')
edit()
startEdit()
# 创建用户(用户名:new_user,密码:new_pass,加入AdminGroup组)
createUser('new_user', 'new_pass', 'AdminGroup')
# 激活更改
save()
activate()
disconnect()
说明:脚本需保存为.py
文件(如create_user.py
),通过java weblogic.WLST create_user.py
执行。
通过SSL保护管理控制台与服务器间通信,防止密码泄露:
keytool
生成自签名证书(需JDK支持):keytool -genkeypair -alias weblogic -keyalg RSA -keystore /home/weblogic/keystore.jks -validity 365
Servers → AdminServer → Configuration → SSL
,上传keystore.jks
并设置密码,启用SSL监听端口(如7002
)。若系统启用SELinux,需调整策略允许WebLogic运行:
sestatus
sudo setenforce 0
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
说明:生产环境建议保持Enforcing
模式,但需通过audit2allow
工具生成自定义策略,避免过度放宽权限。
以上步骤覆盖了WebLogic在CentOS上的权限设置核心环节,需根据实际环境(如WebLogic版本、CentOS版本)调整命令参数,确保安全性和可用性。