Saya telah menjalankan useradd {user}
perintah untuk menambahkan pengguna ke sistem saya, meskipun saya berencana untuk menjalankan ini dalam lingkungan otomatis, dan mungkin akhirnya dijalankan lagi, meskipun pengguna sudah ada.
Apakah ada cara saya bisa menjalankan ini hanya jika pengguna belum ada? Pengguna tidak memiliki folder rumah.
adduser
umumnya lebih disukai pada sistem Debian / Ubuntu.useradd
.Jawaban:
id -u somename
mengembalikan kode keluar non-nol ketika pengguna tidak ada.Anda dapat mengujinya dengan cukup sederhana ... (
&>/dev/null
hanya menekan output / peringatan normal)sumber
coba ini:
atau bahkan ini:
sumber
Kecuali jika Anda hanya memiliki sedikit sistem, Anda mengajukan pertanyaan yang salah. Jawabannya bukan menjalankan useradd sama sekali, tetapi sebaliknya menyerahkan pekerjaan ini ke solusi manajemen konfigurasi seperti boneka atau koki. Ini akan memungkinkan definisi pengguna Anda untuk terpusat dan mencegah Anda berjalan untuk loop dan menggunakan ssh dengan pengguna root untuk mengkonfigurasi sistem Anda. Anda akan selalu memiliki sistem dalam kondisi konfigurasi yang diketahui.
Dokumentasi untuk boneka tersedia di http://docs.puppetlabs.com
Sebagai contoh dalam wayang:
sumber
useradd tidak akan menambahkan pengguna lagi jika sudah ada, itu bermaksud untuk memastikan nomor uid dan login uid unik. Jika Anda berencana untuk menjalankannya melalui batch, pastikan uids yang digunakan unik; useradd akan mengeluh untuk entri yang bermasalah dan Anda perlu menangkap kesalahan / stderr untuk melihat akun pengguna yang memiliki masalah masuk ke sistem akun (/ etc / passwd, grup, shadow).
sumber