Con rối: cách tạo và quản lý người dùng và nhóm unix


12

Tuần trước tôi đã dành tất cả nỗ lực để học Puppet. Bây giờ tôi phải chịu đựng một bộ đệm tinh thần và ít tự tin về việc có thể thuần hóa được con thú này. Tôi đã bắt gặp rất nhiều ví dụ được chú thích nhưng do vô số biến thể của chúng, tôi không thể phân biệt được giữa các kiểu và quy ước rối được đề xuất (gần đây) và cách tiếp cận "làm việc cho tôi". Tôi không thể chịu đựng được vì dường như nó là về những thứ cấp độ cơ bản.

Vì thế. Sử dụng Puppet để quản lý nhóm và người dùng, nhóm chính của người dùng bằng tên người dùng của họ, các nhóm khác có thể landành cho đăng nhập lan, wheelcho quản trị viên, shellcho người dùng có vỏ trên các nút tùy ý, mailcho người dùng, daemonscho nhiều trình nền khác nhau. Đăng nhập quản trị viên sẽ có trên tất cả các nút và để làm cho mọi thứ tồi tệ hơn, đăng nhập lan cũng có thể là đăng nhập shell.

Theo những gì tôi hiểu, việc xác định người dùng nhiều lần là ổn nếu bạn sử dụng các định nghĩa ảo được nhận ra tại một số điểm. Âm thanh fab, vậy làm thế nào mà làm việc với nhiều nhóm cho một người dùng? Nói Bob có thể sử dụng cả nút LAN và nút beastie.wan; đăng nhập của anh ấy thebobsau đó được xác định hai lần, trong lanusers.pp với groups => ["lan"]và trong shellusers.pp với groups => ["shell"]? Điều gì sẽ xảy ra nếu Bob muốn mật khẩu lan của mình tách biệt với mật khẩu shell của mình?

Mã tôi hiện đang sử dụng không có định nghĩa ảo, người dùng chỉ là các vùi đơn mã hóa cứng. Tại một thời điểm, tôi đã bắt gặp một ví dụ sử dụng ảo và đây là lúc tôi gặp khó khăn vì tôi không hiểu cách mở rộng mã để Puppet tạo một nhóm chính và các nhóm bắt buộc tôi đã xác định trước và sau đó tham gia người dùng trong các nhóm đó .

Đúng. Xin hãy cluebat cho tôi đúng.

Câu trả lời:


6

Bây giờ tôi phải chịu đựng một bộ đệm tinh thần và ít tự tin về việc có thể thuần hóa được con thú này.

Thứ nhất: Thư giãn. Tôi đã học được rằng, khi bạn chưa quen với một thứ gì đó có đường cong học tập như Con rối, sẽ rất dễ trở nên quá tải và không thể hoàn thành được nhiều việc.

thebob đăng nhập của anh ấy sau đó được xác định hai lần, trong lanusers.pp với các nhóm => ["lan"] và trong shellusers.pp với các nhóm => ["shell"]?

Không. Hầu như xác định nó ở một nơi (có thể users.pp) với groups => ['shell', 'lan',].

Trên các nút, nhận ra người dùng bạn cần. Ví dụ: nếu node beaminchúng tôi muốn tất cả shellngười dùng:

node beamin {
    Account <| groups == 'shell' |>
}

Điều gì sẽ xảy ra nếu Bob muốn mật khẩu lan của mình tách biệt với mật khẩu shell của mình?

Sau đó, Bob có thể sẽ nhận được 2 tài khoản khác nhau với các tên đăng nhập khác nhau.


Cảm ơn. Bạn nói đúng về phần đầu tiên, tôi đã trở nên choáng ngợp. Nhưng câu trả lời thứ hai của bạn đã giúp ích, nó dường như đặt ra những suy nghĩ khác trong chuyển động và bây giờ tôi có biểu hiện hoạt động chính xác, với những người dùng hầu như được xác định đang được nhận ra tại vị trí thích hợp của họ. Cảm ơn đã giúp tôi với điều đó. :)
tiếng trống

Không thành vấn đề. Trước khi khai báo ảo, vấn đề này liên quan đến một giải pháp rất phức tạp. Hãy xem xét bản thân bạn may mắn vì bạn đã lên tàu Puppet express ngay bây giờ ;-).
Belmin Fernandez

Tôi đang sử dụng khai báo ảo, nhưng tôi cần một số người dùng nằm trong nhóm "sudo" trên một số máy chủ chứ không phải trong các máy chủ khác. Điều này không giải quyết được kịch bản đó (và tôi đang gặp khó khăn trong việc tìm hiểu phải làm gì: D).
jjmontes

3

Con rối không làm tốt với quản lý nhóm / người dùng phức tạp. Bạn sẽ tốt hơn nhiều khi triển khai một cái gì đó như LDAP - nhiều như tôi không thích nó, nó sẽ hoạt động tốt hơn nhiều so với việc cố gắng đánh bại Puppet để nộp.


Hoặc FreeIPA. Con rối rất tốt cho các tài khoản dịch vụ cần có trên hệ thống, nhưng không quản lý người dùng thường xuyên ...
ewwhite

4
Với tất cả sự tôn trọng (rằng bạn là thành viên SF hàng đầu): Tôi không nghĩ điều này trả lời câu hỏi. H: "Tôi nên tạo và quản lý người dùng và nhóm unix trong Puppet như thế nào?". A: "LDAP". Tôi tin rằng câu trả lời như thế này phù hợp hơn như ý kiến. Tất nhiên, nếu điều này đã được thảo luận trước đây trong meta hoặc một cái gì đó, có lẽ tôi chỉ không hiểu rõ. Xin đừng ghét tôi :-).
Belmin Fernandez

3
@ BeamingMel-Bin: Có một tinh thần mạnh mẽ về "công cụ phù hợp cho công việc" trên SF. Nếu ai đó hỏi "cách tốt nhất để đập cái vít này bằng búa của tôi để đưa nó vào trong là gì?", Chúng ta sẽ nói "mua một cái tuốc nơ vít" không đưa ra những luận điểm dài về lợi ích của các kỹ thuật búa khác nhau. Điều này là do hầu hết những người hỏi ở đây đều thiếu kinh nghiệm hoặc thiếu hiểu biết đến mức họ không biết rằng có giải pháp tốt hơn tồn tại, thậm chí không có giải pháp tốt hơn có thể tồn tại (và do đó họ không biết hỏi "có cách nào tốt hơn để lái xe trong việc này không vít? "hoặc" cách tốt nhất để lái xe trong vít này là gì? ").
womble

1
@drumfire: Một lần nữa, nếu bạn hỏi làm thế nào để làm điều gì đó ngu ngốc, câu trả lời đúng là "đừng làm điều đó". Đó là cách SF hoạt động. Chúng tôi không ở đây để giúp mọi người làm những điều ngu ngốc, chúng tôi ở đây để tạo ra các hệ thống hiệu quả hơn.
womble

3
SF, là một phần của bộ ba phim gốc, đã tồn tại lâu hơn rất nhiều và có "tinh thần độc lập" mạnh mẽ hơn nhiều so với các trang web SE khác, đồng nhất hơn. Ngoài ra còn có trang điểm của người dùng để xem xét. Sysadmin là cáu kỉnh và ý kiến.
womble
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.