วิธีอ่านไฟล์ทั้งหมดใน Puppet verbatim (โดยไม่ต้องแยกวิเคราะห์เหมือนแม่แบบ)


0

ฉันต้องการสร้างssh_authorized_keysทรัพยากรจำนวนมาก ทรัพยากรคาดว่ามันkey-attribute จะเป็นกุญแจสาธารณะของตัวเอง - มีวิธีที่จะหมายถึงไม่มีไฟล์ที่มีกุญแจ

เพราะกุญแจนั้นยาวมากและเพราะฉันมีพวกมันอยู่ในไฟล์แล้วฉันอยากให้ Puppet อ่านมันจากไฟล์แทนที่จะให้ฉันอ้างอิงมันในไฟล์ Manifest

ฉันสามารถจินตนาการกรณีการใช้งานอื่นไม่กี่ด้วย

มีฟังก์ชั่นในการอ่านคำต่อคำที่ระบุไฟล์โดยไม่พยายามตีความมันเช่นเดียวกับtemplate()อะไร?

สำหรับกุญแจสาธารณะฉันสามารถทำได้ แต่จริงๆแล้วมันtemplate()มีค่าใช้จ่ายในการแยกวิเคราะห์ นอกจากนี้ในบางกรณีขึ้นอยู่กับเนื้อหาของไฟล์การวิเคราะห์คำอาจ "ล้มเหลว" หรือแย่กว่านั้นไม่ล้มเหลว แต่เปลี่ยนแปลงเนื้อหาอย่างเงียบ ๆ ...

คำตอบ:


1

มีฟังก์ชั่นในการอ่านคำต่อคำที่ระบุไฟล์โดยไม่พยายามตีความมันเป็น template () หรือไม่?

file()ฟังก์ชั่นจะอ่านและกลับเนื้อหาของแฟ้มที่อยู่บนหุ่นต้นแบบ (หรือที่ใดก็ตามที่แคตตาล็อกของถูกเรียบเรียง) คล้ายกับtemplate()ที่คุณอธิบาย

เรียกว่ามีพา ธ เช่นssh_keys/foo.keyโหลดไฟล์ssh_keys/files/foo.keyภายใน modulepath

โปรดทราบว่าฟังก์ชั่นนี้ต้องใช้หุ่น 3.7 หรือสูงกว่าในการโหลดจาก modulepath template()ในลักษณะเดียวกับที่ ก่อนหน้านั้นมันใช้งานได้กับเส้นทางที่แน่นอนเท่านั้น แต่มีในทุกรุ่นใหญ่


0

ใช้ชนิดของทรัพยากรที่มีแอตทริบิวต์ที่กำหนดไว้file sourceสภาพแวดล้อม puppet ของฉันสำหรับการจัดการปุ่ม ssh ที่จริงแล้วเพียงนำเข้าไฟล์ ~ / .ssh / authorized_keys เป็นไฟล์


ใช้งานได้เมื่อคุณมีหนึ่งคีย์ที่เชื่อถือได้ต่อหนึ่งบัญชีเท่านั้น ssh_trusted_keysทรัพยากรสามารถรวมหลายคีย์ลงในauthorized_keysไฟล์ของผู้ใช้คนเดียวกัน ข้อเสนอของคุณจะไม่เป็นที่ยอมรับสำหรับ~root/.ssh/authorized_keysตัวอย่างเช่นถ้าคุณมีมากกว่าหนึ่งพนักงานผู้ประกอบการระดับ ...
มิคาอิลตัน

และสิ่งใดใน authorized_keys คือกุญแจสาธารณะสำหรับผู้ใช้แต่ละคนดังนั้นจึงเป็นที่ยอมรับได้หรือไม่ที่จะเผยแพร่ไฟล์เดียวที่มีคีย์ผู้ใช้ระดับรากทั้งสี่?
bgStack15

สิ่งที่ "เผยแพร่" กล่าวคือ: " บัญชีนี้ได้รับอนุญาตให้เข้าสู่ระบบด้วยฉัน " จัดเรียงของชอบ: " คนเหล่านี้ทุกคนมีกุญแจไปที่อพาร์ตเมนต์ของฉัน " ไม่ว่าจะเป็นการเผยแพร่ความรู้ดังกล่าวเป็นตกลงหรือไม่ขึ้นอยู่กับบัญชี ... sshdไม่ยืนยันในไฟล์ที่ไม่สามารถอ่านได้กับผู้อื่น - ตราบใดที่ไม่มีใครสามารถแก้ไขได้
มิคาอิลต.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.