【发布时间】:2020-02-11 17:29:57
【问题描述】:
社区成员您好,
我们有一个 puppet 文件,它的主类如下:
class profile::Profname::application::classname {
$appname_homedir = hiera('appname::appname_homedir')
$appname_installdir = hiera('appname::appname_installdir')
$java_optional_args = "${java_keystore_args} ${java_proxy_args} ${java_timezone_args}"
..
..
$user = hiera('appname::appname_user')
$gid = hiera('appname::appname_user_gid')
$uid = hiera('appname::appname_user_uid')
exec { "Many blocks":
command => "commands",
..
}
exec { "Many blocks":
command => "commands",
..
}
# Install and configure app
class { 'app':
user => hiera('classname::appname_user'),
jvm_opts => $java_optional_args,
download_url => "s3://${s3_bucket}/${APPDIR}/appname",
dbserver => hiera('appname::db-endpoint'),
notify => Exec["Change appname gid and uid"],
require => [ Class['java'], Exec['Create Homedir'], Exec['Create Appdir']],
}
#other exec blocks
exec { "blocks"
..
..
}
}
现在我在 hiera 中多了两个变量:appname_user 的 uid 和 gid。
如何在内部类“app”中创建用户“appname_user”?
我试图引用 https://puppet.com/docs/puppet/4.10/quick_start_user_group.html 但不确定如何在内部类中执行此操作。任何帮助将不胜感激。
我稍后在创建用户时为用户更改了 uid 和 gid 的另一个 exec 块,但这种方式似乎不适用于已经存在的某些文件。虽然傀儡执行是成功的。因此,我想在创建时使用 uid 和 gid 创建用户。
感谢和问候, 萨哈
【问题讨论】:
标签: puppet