Nie można wysłać aplikacji do użytkownika jenkins po zainstalowaniu Jenkinsa


97

Zainstalowałem jenkins i próbuję dostać się do powłoki jako Jenkins, aby dodać klucz ssh. Wydaje się, że nie mogę zadzwonić do użytkownika Jenkins:

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

Użytkownik jenkins istnieje w moim pliku / etc / passwd. Runnin su jenkinsprosi o hasło, ale odrzuca moje normalne hasło. sudo su jenkinswydaje się, że nic nie robi; to samo dla sudo su - jenkins. Jestem na CentOS.


użytkownik istnieje ... ale prawdopodobnie nie ma powłoki, patrz superuser.com/questions/566041/ ...
thekbb

Nie potrzebujesz sudo, gdy jesteś rootem. Chociaż to nie boli.
thekbb

12
sudo usermod -s /bin/bash jenkins
jgb

1
nie dodawaj muszli do jenkinsa - z założenia brakuje jej. Zwykle nie chcesz, aby konta usługi mogły się logować interaktywnie.
thekbb

Odpowiedzi:


237

jenkins jest kontem serwisowym, nie ma z założenia powłoki. Powszechnie przyjmuje się, że konta usług nie powinny mieć możliwości interaktywnego logowania.

Nie odpowiedziałem na to początkowo, ponieważ jest to duplikat pytania, które zostało przeniesione na błąd serwera . Powinienem był raczej odpowiedzieć niż zamieścić link do odpowiedzi w komentarzu.

jeśli z jakiegoś powodu chcesz się zalogować jako jenkins, możesz to zrobić za pomocą: sudo su -s /bin/bash jenkins


8
Dzięki! Rozumiem, że dodanie powłoki do Jenkinsa wydaje się złym pomysłem; Robiłem to, ponieważ w moim procesie kompilacji były polecenia, których nie miałem problemu z uruchomieniem z mojej powłoki, ale kompilacja kończyła się niepowodzeniem, ponieważ nie mógł ich uruchomić. Chciałem dostać się jako Jenkins i sprawdzić, czy są problemy z uprawnieniami.
sfendell

zredagował odpowiedź, aby uwzględnić dokładnie poprawne informacje o potrzebach @mrg sudo.
thekbb

1
czy istnieje domyślne hasło, o które prosi, ponieważ nie pamiętam ustawienia hasła podczas instalacji.
Joe Lloyd

@mrg Jakiego hasła użyłeś?
Nabin

@JoeLloyd Czy odgadłeś domyślne hasło? Jakie jest hasło?
Nabin


-1

Jeśli używasz jenkins w pliku docker. Następnie spróbuj wykonać następujące czynności.

  • Najpierw musisz uruchomić kontener Jenkinsa „docker start (nazwa-kontenera lub identyfikator-kontenera)”

  • Następnie uruchom to polecenie „docker exec -it (nazwa-kontenera lub identyfikator-kontenera) bash”

Miejmy nadzieję, że będziesz teraz używać jenkinsa.


-11

jako root wprowadź su - jenkins

Sprawdź także w / etc / passwd, czy użytkownik jenkins może się zalogować: powinno być coś takiego jak / bin / bash lub / bin / sh , na pewno nie na końcu linii / bin / false .

Wskazówka: nie używasz jednocześnie su i sudo .


1
to jest dokładnie to polecenie, które wypróbował OP ... masz rację, dlaczego Jenkins nie może się zalogować - ale nie zgadzam się z twoim rozwiązaniem.
thekbb
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.