Làm cách nào để con rối chỉ đặt mật khẩu khi tạo người dùng?


9

Tôi muốn Puppet không quản lý mật khẩu (nghĩa là đặt lại mật khẩu khi nó thay đổi) mà đặt mật khẩu ban đầu khi Puppet tạo người dùng.

Tôi đã nghĩ đến việc làm một notifyđến một Exectài nguyên mà đặt mật khẩu nhưng điều này được kích hoạt khi bất cứ tài sản mà Múa rối quản lý được sửa đổi (ví dụ, thành viên nhóm, thư mục home, vv). Tôi không muốn điều đó.

Có ý kiến ​​gì không?

Câu trả lời:


9

Bản thân con rối không hỗ trợ "thiết lập mật khẩu khi tạo người dùng nhưng không phải là khác".

Một tùy chọn sẽ là thiết lập nguồn xác thực bên ngoài, chẳng hạn như LDAP.

Một sẽ là của bạn notifyđến một Execý tưởng, nhưng làm cho Execmột chút thông minh hơn.

exec {
  "/usr/sbin/usermod -p '${password}' ${user}":
    onlyif => "/bin/egrep -q '^${user}:[*!]' /etc/shadow",
    require => User[$user];
}

Tôi chưa kiểm tra điều đó, nhưng bằng cách kiểm tra xem mật khẩu chưa được đặt trong Exectài nguyên hay chưa, bạn sẽ nhận được kết quả mà bạn đang tìm kiếm. Tôi nghĩ rằng thiết lập theo cách đó, notify/ refreshonlycông cụ không cần thiết, nhưng có lẽ sẽ không đau.


1
Tôi đã thấy một số máy sử dụng !không có mật khẩu, trong trường hợp này egrep -q '^${user}:[*!]:' /etc/shadowhoạt động tốt hơn.
leedm777

1
Dành cho RHEL / Cent: egrep '^${username}:!!:.*:' /etc/shadow
rfelsburg

1
grep -Eq '^${user}:[*!]!?:' /etc/shadow"dường như là thiết bị di động nhất và sẽ không thiết lập lại người dùng với mật khẩu bị khóa.
CodeGnome
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.