Menggunakan "su -" untuk mengubah pengguna mengingat "Tidak ada entri passwd untuk pengguna"

16

Secara khusus, saya mencoba menguji sesuatu di server build saya dengan beralih ke pengguna "jenkins":

sudo su - jenkins
No passwd entry for user 'jenkins'
kevlarjacket
sumber
1
adduser jenkins
Ipor Sircer
@IporSircer Terima kasih, ya, sepertinya tidak ada pengguna jenkins.
kevlarjacket

Jawaban:

10

Pesan kesalahannya cukup jelas. Dikatakan bahwa pengguna jenkinstidak memiliki entri dalam /etc/passwdfile yaitu pengguna tidak ada dalam sistem.

Ketika Anda melakukan operasi terkait pengguna yang memerlukan nama pengguna, kata sandi, direktori home, informasi shell, /etc/passwdfile tersebut dikonsultasikan terlebih dahulu. Tidak ada entri dalam file yang mengarah ke kesalahan yang Anda dapatkan. Jadi, Anda harus membuat pengguna terlebih dahulu ( useradd/ adduser). Sebagai catatan tambahan, kecuali diperlukan Anda harus membuat pengguna khusus layanan (non-manusia) misalnya jenkinssebagai pengguna sistem.

heemayl
sumber
11
Saya berpendapat bahwa itu tidak jelas. Kesalahannya adalah tentang kata sandi dan masalahnya adalah tidak adanya pengguna. Jika kesalahan itu pengguna tidak ada yang akan cukup jelas.
YannickSSE
1
@YannickSSE pesan kesalahannya bukan tentang kata sandi, ini tentang passwd yang merupakan basis data tradisional akun pengguna pada suatu sistem (berada di /etc/passwd). Pada kebanyakan sistem modern, password seperti disimpan di tempat lain - sering di /etc/shadow.
peterph
4

Setelah pencarian cepat untuk "Daftar semua pengguna di Linux", saya menemukan jawaban ini dan menjalankan perintah berikut:

cut -d: -f1 /etc/passwd

dan, Seperti yang disarankan oleh @Ipor Sircer, pengguna ini sebenarnya tidak ada, dan saya harus menambahkannya dengan:

adduser jenkins
kevlarjacket
sumber
Apakah itu menyelesaikan masalah Anda? Apakah membuat jenkinspengguna sendiri sama dengan pengguna yang dibuat oleh jenkins sendiri?
reiley