Saya menemukan panduan yang menjelaskan cara mengatur kata sandi pengguna . Saya mencoba mengotomatiskannya dan mengirim email ke pengguna seperti:
userid created with password XYZ.
request to change the initial password.
Menurut dokumen di atas, kata sandi terenkripsi perlu dibuat menggunakan Python dan diumpankan ke usermod
perintah seperti ini:
usermod -p "<encrypted-password>" <username>
Apakah ada cara lain yang lebih sederhana untuk melakukan ini? Saya tidak ingin mengunduh utilitas khusus untuk melakukannya; itu harus digeneralisasikan sebanyak mungkin.
Sunting : Bahkan metode yang diberikan dalam tautan di atas sepertinya tidak berfungsi untuk saya:
bash-3.00# python
Python 2.4.6 (#1, Dec 13 2009, 23:43:51) [C] on sunos5
Type "help", "copyright", "credits" or "license" for more information.
>>> import crypt; print crypt.crypt("<password>","<salt>")
<sOMrcxm7pCPI
>>> ^D
bash-3.00# useradd -g other -p "sOMrcxm7pCPI" -G bin,sys -m -s /usr/bin/bash mukesh2
UX: useradd: ERROR: project sOMrcxm7pCPI does not exist. Choose another.
UX: useradd: sOMrcxm7pCPI name should be all lower case or numeric.
usermod
ketika seseorang menggunakanps
untuk melihat proses daftar kata sandi terlihatJawaban:
Anda dapat menggunakannya
chpasswd
untuk melakukannya, seperti ini:Anda dapat menyambungkan ke
chpasswd
dari program selainecho
, jika nyaman, tetapi ini akan membantu.Sunting: Untuk membuat kata sandi di dalam skrip shell dan kemudian mengaturnya, Anda dapat melakukan sesuatu seperti ini:
Untuk informasi lebih lanjut tentang
chpasswd
, lihat http://linux.die.net/man/8/chpasswd(Perintah untuk menghasilkan kata sandi berasal dari http://nixcraft.com/shell-scripting/13454-command-generate-random-password-string.html )
sumber
sudo echo "username:newpass" | chpasswd
? Karena izin yang ditinggikan darisudo
tidak melewati pipa, jadichpasswd
akan berjalan sebagai pengguna biasa. Itu dapat diperbaiki dengan memindahkansudo
, seperti padaecho "username:newpass" | sudo chpasswd
. Ada juga masalah lain yang dapat menyebabkan pesan kesalahan itu, tetapi kesalahan izin seperti ini mungkin yang paling umum.Anda dapat menggunakan OpenSSL untuk menghasilkan kata sandi acak (16 karakter, dalam hal ini):
Kemudian masukkan kata sandi hash ke
useradd
atauusermod
Kredit yang jatuh tempo: Pembuatan kata sandi diadaptasi dari metode serupa yang menggunakan
/dev/urandom
alih-alihopenssl
.sumber
useradd harus bekerja (saya sudah melakukannya di Ubuntu). Mungkin periksa bahwa masing-masing argumen Anda benar (grup Anda ada, jalannya tepat untuk bash). Anda dapat menjalankan perintah hanya dengan kata sandi dan pengguna, dan kemudian menggunakan userdel untuk menghapus dan kemudian coba lagi dengan lebih banyak parameter, untuk melihat apa yang menyebabkan masalah (pendekatan brute force).
Ada juga pengguna baru (lihat halaman manual), setidaknya di bawah Ubuntu, di mana Anda memberikan file dengan file passwd seperti info, termasuk kata sandi teks biasa dan itu akan membuat pengguna tersebut. Cara yang bagus untuk melakukan banyak pengguna sekaligus.
sumber
newusers
perintah untuk Ubuntucara paling sederhana yang saya temukan:
sumber
passwd: unrecognized option '--stdin'