gpt4 book ai didi

ubuntu - 使用 Chef 在 Ubuntu 12.04 上设置 ACL

转载 作者:太空宇宙 更新时间:2023-11-03 16:52:14 25 4
gpt4 key购买 nike

我一直在尝试弄清楚如何编写一个方法来安装 ACL 包,然后在启用它的情况下重新挂载文件系统根目录:

  1. apt-get install acl
  2. 将“acl”添加到 fstab 的选项中
  3. mount -o remount/

我的 Recipe 尝试是:

case node[:platform]
when "debian","ubuntu"
package "acl" do
action :install
end

mount "/" do
options "acl"
action [:remount, :enable]
end
end

不幸的是(这并不奇怪) Chef 不知道如何读取/的现有 fstab 条目并在不更改任何其他内容的情况下向其添加 acl,因此它会破坏挂载点上的现有选项。关于如何实现此目标的任何想法?

最佳答案

找到了一种使用 Augeas 的方法:

# Install ACL and remount the root volume with ACL enabled
case node[:platform]
when "debian","ubuntu"
%w{acl augeas-tools}.each do |pkg|
package pkg
end

execute "update_fstab" do
command <<-EOF
echo 'ins opt after /files/etc/fstab/*[file="/"]/opt[last()]
set /files/etc/fstab/*[file="/"]/opt[last()] acl
save' | augtool
mount -o remount /
EOF
not_if "augtool match '/files/etc/fstab/*[file=\"/\"]/opt' | grep acl"
end
end

我不太喜欢这个解决方案,但它似乎有效。不过一定有更好的方法,对吗?

关于ubuntu - 使用 Chef 在 Ubuntu 12.04 上设置 ACL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17604037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com