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 jenkins
prosi o hasło, ale odrzuca moje normalne hasło. sudo su jenkins
wydaje się, że nic nie robi; to samo dla sudo su - jenkins
. Jestem na CentOS.
sudo usermod -s /bin/bash jenkins
Odpowiedzi:
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
źródło
sudo
.Użyj poniższego polecenia:
źródło
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.
źródło
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 .
źródło