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 jenkins
meminta kata sandi, tetapi menolak kata sandi normal saya. sudo su jenkins
sepertinya tidak melakukan apapun; sama untuk sudo su - jenkins
. Saya menggunakan CentOS.
sudo usermod -s /bin/bash jenkins
Jawaban:
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
sumber
sudo
.Gunakan perintah di bawah ini:
sumber
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.
sumber
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.
sumber