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.

sfendell
sumber
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

thekbb
sumber
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

Gunakan perintah di bawah ini:

su -s /bin/bash jenkins
Sudipto Das
sumber
-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.

ashik ahmed
sumber
-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.

rotscher
sumber
1
itulah perintah yang dicoba OP ... Anda benar mengapa jenkins tidak dapat masuk - tetapi saya tidak setuju dengan solusi Anda.
thekbb