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.

sfendell
źródło
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

thekbb
źródło
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

Użyj poniższego polecenia:

su -s /bin/bash jenkins
Sudipto Das
źródło
-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.

ashik ahmed
źródło
-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 .

rotscher
źródło
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