Saya membaca deskripsi perintah ini dari sebuah buku,
passwd:
Mengubah kata sandi untuk pengguna yang ada.
chpasswd:
Membaca file pasangan nama login dan kata sandi, dan memperbarui kata sandi.
Tampaknya perintah ini melakukan pekerjaan yang sama. Apakah ada perbedaan di antara mereka?
EDIT:
Saya ingin belajar ketika kita menggunakannya file mana yang berubah. Apakah mereka mengubah file yang sama atau file yang berbeda? Jika mereka mengubah file yang berbeda, apakah itu?
linux
command-line
metarosa
sumber
sumber
/etc/password
berisi informasi akun pengguna./etc/shadow
berisi kata sandi terenkripsi. Saya percaya itu adalah satu-satunya file yang relevan. Anda dapat mengubah kata sandi dengan mengedit file-file itu secara manual, tetapi itu akan sangat aneh.Jawaban:
Dari
man chpasswd
:'Perintah ini dimaksudkan untuk digunakan dalam lingkungan sistem besar di mana banyak akun dibuat pada satu waktu.'
passwd
(menurut pengalaman saya) biasanya digunakan secara interaktif untuk satu pengguna.sumber
Lihat halaman manual untuk keduanya:
sumber
Pendeknya:
passwd
memeriksa apakah STDIN (file descriptor 0) dilampirkan ke terminal, menggunakanisatty(0)
. Jika tidak,passwd
akan bail out yaitu Anda hanya bisa bekerja denganpasswd
interaktifchpasswd
, di sisi lain, dirancang untuk membaca (nama pengguna dan) kata sandi dari STDIN, dan disebut mode batch (membuat / memperbarui beberapa kredensial pengguna sekaligus). Bunyinya password (s) (dalam bentuk teks secara default), dan nama pengguna (s) dari STDIN, diberikan dalam formatuser_name:password
, dengan baris baru memisahkan entrisumber
Saya menemukan itu meskipun
berfungsi untuk beberapa OS, tetapi beberapa OS seperti debian9,10 akan menunjukkan kesalahan
can not connect to /var/run/nscd/socket
karena menggunakan /etc/nsswitch.conf untuk menentukan di mana ia menyimpan kata sandi.Di sisi lain,
passwd
perintah itu sepertinya tidak perlu shell interaktif,bekerja untuk saya baik di host fisik dan wadah, untuk berbagai OS (ubuntu xenial-bionic, debian9-10, centos75-76, coreos1855-2135)
sumber