在Payara Server和GlassFish中配置密码

回答Stackoverflow问题可以为我发现我最喜欢的开源工具的正式文档中的空白提供很好的反馈。 我在这里回答的问题之一是如何在docker容器中更改Payara Server主密码 。 显然,在标准服务器安装中,这很简单–只需使用asadmin change-master-password命令,然后在控制台中输入旧密码和新密码即可。 但是不在docker中,必须通过脚本自动进行配置。 这同样适用于所有基础架构即代码解决方案,例如Chef或Puppet。 因此,我不得不更深入地研究文档并进行一些实验。

从文件中指定密码

在脚本中使用密码的关键是在文件中提供密码。 每个asadmin命令都接受参数–passwordfile,以指示它从中读取所有必需的密码,从而避免以交互方式询问密码。 但是在此密码文件中查找如何定义密码有点棘手,因为它用于多种类型的密码。 适用于GlassFish v3的Oracle文档,该文档也适用于GlassFish v4和v5以及Payara v4和5,其中记录了4种类型的密码 。 可以在密码文件中使用带有AS_ADMIN_前缀的变量来指定每种密码。

  • 带有前缀AS_ADMIN_PASSWORD的管理员密码,默认为空密码
  • 前缀为AS_ADMIN_MASTERPASSWORD的主密码,默认为“ changeit”
  • 前缀为AS_ADMIN_USERPASSWORD的用户密码
  • 别名为AS_ADMIN_ALIASPASSWORD的别名密码

因此,例如,如果我们需要使用管理员密码“ mypassword”运行命令,那么密码文件中必须包含以下行:

AS_ADMIN_PASSWORD=mypassword

然后,我们可以将密码与–passwordfile参数一起使用,如下所示:

asadmin list-applications --passwordfile=mypasswordfile

上面的命令不会等待输入密码,而是会立即列出服务器上的所有应用程序。 如果密码不正确,该命令将失败。

从脚本非交互更改密码

到目前为止,至少在旧版GlassFish v3文档中已记录了所有内容。 但是,文档中缺少的是,如果我们想从脚本中更改密码,该如何从文件中指定新密码。 当我们执行命令以更改没有密码文件的任何密码(例如,管理员密码或主密码)时,该命令将要求2个密码-旧密码和新密码。 因此,我们需要在文件中指定2个密码。

解决方案是将新密码的另一个变量添加到同一密码文件中。 新密码的变量以AS_ADMIN_NEW前缀为前缀。 因此,要更改主密码,我们的密码文件中需要以下两行:

AS_ADMIN_MASTERPASSWORD=oldmasterpassword
AS_ADMIN_NEWMASTERPASSWORD=newmasterpassword

然后,我们可以将两个密码与–passwordfile参数一起使用,如下所示:

asadmin change-master-password --passwordfile=mypasswordfile

上面的命令不会等待输入或重新输入任何密码,而是会立即将服务器上的主密码更改为newmasterpassword。 如果旧密码不正确,该命令将失败。

在Docker映像中更改密码

在Docker中,首选方法是在映像中配置服务器,以便在执行容器时自动应用配置。 避免配置容器,因为在容器中运行asadmin命令并不容易,并且更改某些密码(例如主密码)需要重新启动服务器。

默认的Payara Server Docker映像已包含asadmin命令,这些命令可更改管理员密码。 您可以复制创建/ opt / tmpfile的行,并将其与change-admin-password命令一起使用以更改管理员密码。

可以更改主密码。 以下是将主密码更改为newpassword的示例自定义Dockerfile:

<span class="pln">FROM payara</span><span class="pun">/</span><span class="pln">server</span><span class="pun">-</span><span class="pln">full
</span>
<span class="pun">#</span><span class="pln"> specify a </span><span class="kwd">new</span><span class="pln"> master password </span><span class="str">"newpassword"</span><span class="pln"> instead of the </span><span class="kwd">default</span><span class="pln"> password </span><span class="str">"changeit"</span><span class="pln">
RUN echo </span><span class="str">'AS_ADMIN_MASTERPASSWORD=changeit\nAS_ADMIN_NEWMASTERPASSWORD=newpassword'</span> <span class="pun">>></span> <span class="pun">/</span><span class="pln">opt</span><span class="pun">/</span><span class="pln">masterpwdfile</span><span class="pun">#</span><span class="pln"> execute asadmin command to apply the </span><span class="kwd">new</span><span class="pln"> master password
RUN $</span><span class="pun">{</span><span class="pln">PAYARA_PATH</span><span class="pun">}/</span><span class="pln">bin</span><span class="pun">/</span><span class="pln">asadmin change</span><span class="pun">-</span><span class="pln">master</span><span class="pun">-</span><span class="pln">password </span><span class="pun">--</span><span class="pln">passwordfile</span><span class="pun">=/</span><span class="pln">opt</span><span class="pun">/</span><span class="pln">masterpwdfile</span>

在当前目录中使用上述Dockerfile,您可以使用以下命令构建自定义Docker映像:

docker build -t my-payara/server-full .

然后运行my-payara / server-full而不是payara / server-full。
您可以使用以下命令在docker容器中验证主密码是否已更改:

docker run -t -i --entrypoint keytool payara/server-full:masterpwd -list -keystore /opt/payara41/glassfish/domains/domain1/config/keystore.jks

如果键入新的主密码,则应该看到密钥库的内容以及证书列表。

翻译自: https://www.javacodegeeks.com/2017/11/configure-passwords-payara-server-glassfish.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348323.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

功能Java示例 第2部分–讲故事

这是称为“ Functional Java by Example”的系列文章的第2部分。 我在本系列的每个部分中发展的示例是某种“提要处理程序”&#xff0c;用于处理文档。 在上一部分中&#xff0c;我从一些原始代码开始&#xff0c;并应用了一些重构来描述“什么”而不是“如何”。 为了帮助代…

OpenHub框架–下一个有趣的功能

这是有关OpenHub框架的系列文章中的第三篇&#xff0c;第一篇介绍OpenHub框架 &#xff0c;第二篇介绍异步消息传递模型 。 该系列的最后一篇文章将更详细地介绍其他一些有趣的功能&#xff0c;并说明为什么OpenHub可以成为您的集成项目的理想选择的原因。 节流 节流是一种功…

tcga癌症亚型获取_将亚型多态性与通用多态性相关联的危险

tcga癌症亚型获取Java 5已将通用多态性引入Java生态系统。 即使我们都知道由于泛型类型擦除及其后果而引起的无数警告&#xff0c;这还是对Java语言的重要补充。 通用多态性&#xff08;也称为参数多态性 &#xff09;通常与可能预先存在的亚型多态性正交。 一个简单的例子是co…

在生产中运行Java:SRE的观点

作为站点可靠性工程师 &#xff08;SRE&#xff09;&#xff0c;我确保我们的生产服务高效&#xff0c;可扩展且可靠。 典型的SRE是生产大师&#xff0c;必须对更广泛的体系结构有很好的了解&#xff0c;并精通许多更精细的细节。 SRE是会说多种语言的程序员&#xff0c;这是很…

android 退出多个activity,Android 中 退出多个activity的经典方法

1.使用list集合方式用list保存activity实例&#xff0c;然后逐一干掉import java.util.linkedlist;import java.util.list;import android.app.activity;import android.app.alertdialog;import android.app.application;import android.content.dialoginterface;import androi…

声明jpa批注处理器_如何使用反射基于JPA批注记录您的数据模型

声明jpa批注处理器因此&#xff0c;当您仅可以注释Java类时&#xff0c;使用JPA&#xff0c;Hibernate或EBeans很酷&#xff0c;但是您不是一直希望可以从代码“生成”数据模型的文档吗&#xff1f; 提取JPA / Hibernate和其他验证注释的信息&#xff1f; 假设您的bean中具有所…

在Grails战争中添加“精简” Groovy Web控制台

假设您已将Grails应用程序部署到服务器上–如何查找应用程序的配置方式&#xff1f; 如果您有来源&#xff0c;则可以查看Config.groovy &#xff0c; BuildConfig.groovy等&#xff08;在这种情况下&#xff0c;我正在谈论Grails 2应用程序&#xff0c;但是这些想法可以推广到…

ubuntu生成密钥和证书_基于浏览器的密钥生成以及与浏览器的密钥/证书存储的交互...

ubuntu生成密钥和证书想象以下情况&#xff1a; 您需要从访问您的网站的用户那里获取一个密钥&#xff08;在非对称情况下为用户的公共密钥 &#xff09;&#xff0c;并希望浏览器记住私有部分&#xff0c;而不会因冗长的导入过程而困扰用户。 老实说&#xff0c;实际上&#…

JPA persistence.xml SQL脚本定义

您可以在将在运行时执行的JPA持久性上下文定义中定义并链接到SQL脚本。 有标准化的属性来定义脚本&#xff0c;以分别说明如何创建模式&#xff0c;批量加载数据和删除模式&#xff1a; <persistence version"2.1" xmlns"http://xmlns.jcp.org/xml/ns/persi…

如何使用JPA和Hibernate映射JSON集合

介绍 开源的hibernate-types项目允许您将Java对象或Jackson JsonNode为JPA实体属性。 最近&#xff0c;感谢我们的杰出贡献者&#xff0c;我们添加了对类型安全集合的支持&#xff0c;该集合也可以作为JSON持久化。 在本文中&#xff0c;您将了解如何实现此目标。 Maven依赖 …

android listview mapview,RelativeLayout和并列ListView/MapView

我尝试使用RelativeLayout并排放置ListView和MapView。然而我的MapView总是高于ListView。RelativeLayout和并列ListView/MapView这里是我的main.xml布局&#xff1a;android:orientation"vertical"android:layout_width"fill_parent"android:layout_heigh…

android数据流分类,【Android工程之类】1 MVVM架构 - MVVM与单向数据流

前言这个系列将讲述使用MVVM架构、LiveData、Room、Kodein、Retrofit、EventBus来建立一个统一的、优雅的、可维护的TODO程序&#xff0c;本系列分为多个章节&#xff0c;从0开始一步一步引入这些优秀的库。下图展示的是Jetpack组件库包含的内容&#xff0c;这套的架构方案的核…

java ssl证书_Java安全教程–创建SSL连接和证书的分步指南

java ssl证书在有关应用JEE安全性的系列文章中&#xff0c;我们为您提供了另一个有关如何在Java EE应用程序中创建SSL连接和创建证书的详细教程。 如我们之前的文章中所述&#xff0c; 安全套接字层&#xff08;SSL&#xff09;/传输层安全性&#xff08;TLS&#xff09;将启用…

android运行的线程中,android中线程是否运行在单独的进程中?

android sdk中的描述Caution:Aservice runs in the main thread of its hosting process—the servicedoesnotcreateits own thread anddoesnotrunin a separate process (unless you specify otherwise). This meansthat, if your service is going to do any CPU intensive w…

通过Okta的单点登录保护Spring Boot Web App的安全

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 您可以使用SpringBoot和Okta在不到20分钟的时间内启动具有完整用户身份和授权管理的企…

java ee cdi_Java EE CDI程序化依赖关系消歧示例–注入点检查

java ee cdi在本教程中&#xff0c;我们将看到在注入Java EE CDI bean时如何避免程序依赖消除歧义。 我们已经在Jave EE依赖关系消除歧义示例中展示了如何避免CDI Bean中的依赖关系歧义消除。 在这里&#xff0c;我们将向您展示如何以动态方式避免依赖消除歧义。 我们将通过检查…

在EL表达式中引用ADF Faces组件

EL表达式通常用于在页面上指定ADF Faces组件的属性值。 有趣的是&#xff0c;我们可以使用component关键字来引用要为其评估EL表达式的组件实例。 这是略与此类似Java中。 例如&#xff0c;在以下代码段中&#xff0c;按钮的提示被评估为按钮的文本值&#xff0c;并且它的visi…

atom自动补全html代码,Atom - Emmet插件的使用详解(HTML/CSS代码自动补全)

一、Emmet的安装与介绍Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的工具&#xff0c;能够实现 HTML、CSS 的快速编写。官网地址&#xff1a;http://emmet.io/官方文档&#xff1a;http://docs.emmet.io/cheat-sheet/Atom的emmet介绍页面&#xff1a;https://at…

html怎么做出相框的效果,PS滤镜制作漂亮的实木相框效果

一、新建一个600 * 800像素的文件&#xff0c;然后新建一个图层&#xff0c;前景颜色设置为红色&#xff0c;背景设置为深红色&#xff0c;执行&#xff1a;滤镜 > 渲染 > 纤维&#xff0c;参数设置如下图。二、执行&#xff1a;图像 > 旋转画布 > 逆时针90度&…

crawler4j_迷你搜索引擎–使用Neo4j,Crawler4j,Graphstream和Encog的基础知识

crawler4j继续执行正在实现搜索引擎的Programming Collection Intelligence &#xff08;PCI&#xff09;的第4章。 我可能比做一次运动所咬的东西要多。 我认为&#xff0c;与其使用本书中所使用的常规关系数据库结构&#xff0c;不如说我一直想看看Neo4J&#xff0c;所以现在…