Saya membuat pengguna sebagai berikut
user { $username:
comment => "$name",
shell => "$shell",
managehome => false,
password => "$password",
groups => $groups
}
Sekarang seperti yang Anda lihat saya lakukan adalah mengelola rumah palsu. Sekarang kemudian di jalan saya harus mendorong file ke direktori home pengguna.
$key = "${homedir}/${name}/file"
file { $key:
ensure => present,
owner => $username,
group => $username,
mode => 600,
content => "$keyvalue",
subscribe => User[$username],
}
Bagaimana saya bisa mendapatkan direktori home pengguna untuk ini?
Saya mencoba mencari solusi untuk masalah yang persis sama, dan ternyata yang terbaik adalah mengambil pendekatan yang sedikit berbeda.
Tetapkan direktori home secara eksplisit, misalnya:
Ketika
managehome
salah, direktori home bahkan tidak dibuat. Jadi, Anda harus mendefinisikannya secara spesifik. Seringkali yang terbaik untuk membuat definisi khusus untuk seluruh pengguna:Anda dapat menambahkan lebih banyak parameter, misalnya
$keyvalue
, dan membuat keyfile jika parameter itu diberikan.Anda juga dapat menentukan variabel global
$home = "/home"
(spesifik OS, jika perlu) dan mendapatkan dir home"${home}/${username}"
.Sunting: Menggunakan hash untuk mendefinisikan direktori home khusus pengguna
Versi boneka terbaru (> = 2.6) mendukung hash. Dimungkinkan untuk mendefinisikan
username => /path/to/home
pemetaan yang berisi hash untuk setiap pengguna:Untuk setiap nama pengguna, mudah untuk mendapatkan direktori home
$home['username']
.Direktori rumah hash dengan fallback
Sebagian besar waktu, akan lebih baik untuk memiliki "fallback default" jika pengguna tidak ada di hash. Secara teori ini mungkin, meskipun sintaks menjadi sedikit samar dan membengkak:
sumber
Pertanyaan ini sudah lama, tetapi masih relevan. Sebenarnya ada cara yang lebih baik sekarang. Tambahkan fakta khusus ke [module] /lib/facter/home_dirs.rb yang berisi yang berikut:
Maka Anda dapat mengakses data dalam manifes dengan demikian:
Ingatlah bahwa ini hanya berfungsi jika pengguna sudah ada sebelum boneka berjalan. Jika pengguna dibuat selama menjalankan, direktori home harus sudah diketahui atau setidaknya dapat diprediksi. Bagaimanapun, wayang dirancang untuk menciptakan keteraturan.
Semoga ini bisa membantu seseorang.
sumber