Không thể sử dụng jenkins người dùng sau khi cài đặt Jenkins


93

Tôi đã cài đặt jenkins và tôi đang cố gắng vào shell với tư cách là Jenkins để thêm khóa ssh. Tôi dường như không thể thành công với người dùng jenkins:

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

Người dùng jenkins tồn tại trong tệp / etc / passwd của tôi. Runnin su jenkinsyêu cầu mật khẩu, nhưng từ chối mật khẩu thông thường của tôi. sudo su jenkinsdường như không làm gì cả; tương tự cho sudo su - jenkins. Tôi đang sử dụng CentOS.


người dùng tồn tại ... nhưng có khả năng không có trình bao, hãy xem superuser.com/questions/566041/…
thekbb

Bạn không cần sudo khi bạn root. Mặc dù nó không đau.
thekbb

11
sudo usermod -s /bin/bash jenkins
jgb

1
không thêm một vỏ vào jenkins - nó bị thiếu theo thiết kế. Nói chung, bạn không muốn các tài khoản dịch vụ có thể đăng nhập tương tác.
thekbb

Câu trả lời:


232

jenkins là một tài khoản dịch vụ, nó không có vỏ theo thiết kế. Người ta thường chấp nhận rằng các tài khoản dịch vụ không thể đăng nhập tương tác.

Tôi đã không trả lời câu hỏi này ban đầu vì nó là bản sao của một câu hỏi đã được chuyển sang lỗi máy chủ . Tôi nên trả lời hơn là liên kết với câu trả lời trong một bình luận.

nếu vì lý do nào đó bạn muốn đăng nhập bằng jenkins, bạn có thể làm như vậy với: sudo su -s /bin/bash jenkins


8
Cảm ơn! Tôi hiểu việc thêm một shell vào jenkins có vẻ là một ý tưởng tồi; Tôi chỉ làm điều đó vì có các lệnh trong quá trình xây dựng của tôi mà tôi không gặp vấn đề gì khi chạy từ trình bao của mình nhưng quá trình xây dựng bị lỗi vì nó không thể chạy chúng. Tôi muốn tham gia với tư cách jenkins và xem liệu có vấn đề về quyền hay không.
sfendell

đã chỉnh sửa câu trả lời để kết hợp thông tin chính xác về nhu cầu của @mrg sudo.
thekbb

1
có mật khẩu mặc định mà nó yêu cầu vì tôi không nhớ đã thiết lập mật khẩu khi cài đặt.
Joe Lloyd

@mrg Bạn đã sử dụng mật khẩu nào?
Nabin

@JoeLloyd Bạn có tìm ra mật khẩu mặc định không? Mật khẩu là gì?
Nabin


-2

Nếu bạn sử dụng jenkins bên trong docker. Sau đó, bạn nên thử những điều sau đây.

  • Trước tiên, bạn cần chạy jenkins container "docker start (container-name hoặc container-id)"

  • Sau đó chạy lệnh này "docker execute -it (container-name hoặc container-id) bash"

Bây giờ hy vọng bạn sẽ sử dụng như một người dùng jenkins.


-11

dưới dạng root, nhập su - jenkins

Ngoài ra, hãy kiểm tra / etc / passwd mà người dùng jenkins được phép đăng nhập: phải có một cái gì đó như / bin / bash hoặc / bin / sh , chắc chắn không phải / bin / false ở cuối dòng.

Gợi ý: Bạn không sử dụng susudo cùng một lúc.


1
đó chính xác là lệnh OP đã thử ... bạn đã chính xác tại sao jenkins không thể đăng nhập - nhưng tôi không đồng ý với giải pháp của bạn.
thekbb
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.