簡體   English   中英

使用Puppet創建具有多個組所有權的目錄?

[英]Creating a directory with multiple groups ownership using Puppet?

如何使用Puppet創建一個擁有多個組的目錄?

我想讓'group1'和'group2'中的用戶都可以訪問該目錄。

我嘗試了下面的代碼,它只授予group1所有權。

file { [ "some/path1", "some/path2" ]:
  ensure => directory,
  owner  => 'root',
  group  => ['group1', 'group2'],
  mode   => 0770,
}

據我所知,Puppet中的基本文件類型只處理只允許一個組和一個所有者的自由權限。 這是底層系統的限制。

根據客戶端的平台,您可以使用ACL為多個組或用戶授予不同的權限。 要在Puppet中執行此操作,您必須使用Exec並直接調用setfacl (例如,如果您在Linux上)。

PuppetForge中有一些第三方模塊(我認為是puppet-acl)提供了這個功能; 然而,盡管我認為功能請求正在考慮之中,但此時此刻它不在原生傀儡中。

Puppet的文件{} 資源類型只實現Unix權限,有時稱為User-Group-Other(UGO) ...所以只有一個組,因為Puppet與chownchgrpchmod

file { [ '/path/to/file' ]:
  owner  => 'root',
  group  => 'marketing',
  mode   => 0770,
  ensure => directory,
}

有許多額外的模塊可用於使用Puppet管理ACL:

我用的是puppet-acl。 這是一個例子:

acl {'/path/to/file' :
  action     => 'set',
  permission => ['user::rwx',
                 'group::rwx',
                 'group:sales:rwx',
                 'mask::rwx',
                 'other::---',
                 'default:user::rwx',
                 'default:group:sales:rwx',
                 'default:group:marketing:rwx',
                 'default:mask::rwx',
                 'default:other::---'],
  require    => File['/path/to/file']
}

附注:

  • RTFM ,有很多有趣的選項(recursive,action = strict | unset | purge)......
  • 確保user:group:other:file{}acl{}權限是一致的(否則權限將在每個木偶運行時保持平衡)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM