Tidak bisa su ke pengguna jenkins setelah menginstal Jenkins


96

Saya telah menginstal jenkins dan saya mencoba masuk ke shell sebagai Jenkins untuk menambahkan kunci ssh. Sepertinya saya tidak bisa menggugat pengguna jenkins:

[root@pacmandev /]# sudo su jenkins
[root@pacmandev /]# whoami
root
[root@pacmandev /]# echo $USER
root
[root@pacmandev /]# 

Pengguna jenkins ada di file / etc / passwd saya. Runnin su jenkinsmeminta kata sandi, tetapi menolak kata sandi normal saya. sudo su jenkinssepertinya tidak melakukan apapun; sama untuk sudo su - jenkins. Saya menggunakan CentOS.


pengguna ada ... tetapi kemungkinan tidak memiliki shell, lihat superuser.com/questions/566041/…
thekbb

Anda tidak perlu sudo saat Anda melakukan root. Padahal itu tidak sakit.
thekbb

12
sudo usermod -s /bin/bash jenkins
jgb

1
jangan menambahkan cangkang ke jenkins - jenkins hilang satu per satu. Umumnya Anda tidak ingin akun layanan dapat masuk secara interaktif.
thekbb

Jawaban:


235

jenkins adalah akun layanan, tidak memiliki shell berdasarkan desain. Secara umum diterima bahwa akun layanan tidak boleh login secara interaktif.

Saya tidak menjawab pertanyaan ini pada awalnya karena ini adalah duplikat dari pertanyaan yang telah dipindahkan ke kesalahan server . Saya seharusnya menjawab daripada menautkannya ke jawaban dalam komentar.

jika karena alasan tertentu Anda ingin masuk sebagai jenkins, Anda dapat melakukannya dengan: sudo su -s /bin/bash jenkins


8
Terima kasih! Saya mengerti menambahkan shell ke jenkins sepertinya ide yang buruk; Saya hanya melakukannya karena ada perintah dalam proses build saya sehingga saya tidak mengalami masalah saat menjalankan dari shell saya tetapi build tersebut gagal karena tidak dapat menjalankannya. Saya ingin masuk sebagai jenkins dan melihat apakah ada masalah izin.
sfendell

mengedit jawaban untuk menyertakan info yang benar-benar benar dari @mrg tentang kebutuhan sudo.
thekbb

1
apakah ada kata sandi default yang diminta karena saya tidak ingat mengatur kata sandi saat instalasi.
Joe Lloyd

@mrg Sandi apa yang Anda gunakan?
Nabin

@ JoeLloyd Apakah Anda mengetahui sandi default? Apa passwordnya?
Nabin


-1

Jika Anda menggunakan jenkins di dalam buruh pelabuhan. Maka Anda harus mencoba yang berikut ini.

  • Pertama, Anda perlu menjalankan container jenkins "docker start (container-name atau container-id)"

  • Kemudian jalankan perintah ini "docker exec -it (container-name atau container-id) bash"

Sekarang semoga Anda akan menggunakan sebagai pengguna jenkins.


-11

sebagai root, masukkan su - jenkins

Juga, periksa di / etc / passwd bahwa pengguna jenkins diizinkan untuk logon: harus ada sesuatu seperti / bin / bash atau / bin / sh , tentunya bukan / bin / false di akhir baris.

Petunjuk: Anda tidak menggunakan su dan sudo secara bersamaan.


1
itulah perintah yang dicoba OP ... Anda benar mengapa jenkins tidak dapat masuk - tetapi saya tidak setuju dengan solusi Anda.
thekbb
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.