我希望能够动态地说明哪些本地用户可以访问服务器。这应该会生成一个 /etc/security/access.conf 文件,如下所示:
+ : root : ALL
# Next lines should be generated dynamically based on a variable
+ : user1 : ALL
+ : user2 : ALL
+ : user3 : ALL
# Until this line
- : ALL : ALL
我知道我可以在 access.conf 模板中使用单个变量,例如放置一行:
+ : <%=local_accepted_user1%> : ALL
但是我怎样才能使用数组让多个用户使用它呢?
答案1
为了允许传递数组和字符串,需要执行两个步骤。我们在 puppet 中的多个模板中使用了它。
- 确保传入的变量变成数组
- 迭代数组
+ : root : ALL
# Next lines should be generated dynamically based on a variable
<%
if @users.class == String then
real_users = [@users]
else
real_users = @users
end
# flatten ensures that any inline arrays are also processed by element
real_users.flatten.each { |cur_user|
-%>
+ : <%= @cur_user -%> : ALL
<%
}
-%>
# Until this line
- : ALL : ALL