W szczególności próbuję przetestować coś na moim serwerze kompilacji, przechodząc do użytkownika „jenkins”:
sudo su - jenkins
No passwd entry for user 'jenkins'
linux
su
not-root-user
jenkins
kevlarjacket
źródło
źródło
adduser jenkins
Odpowiedzi:
Komunikat o błędzie jest dość oczywisty. Mówi, że użytkownik
jenkins
nie ma wpisu w/etc/passwd
pliku, tzn. Użytkownik nie istnieje w systemie.Gdy wykonujesz jakiekolwiek czynności związane z użytkownikiem, które wymagają nazwy użytkownika, hasła, katalogu domowego, informacji o powłoce,
/etc/passwd
najpierw sprawdzany jest plik. Brak wpisu w tym pliku, który prowadzi do samego błędu, który się pojawia. Musisz najpierw utworzyć użytkownika (useradd
/adduser
). Na marginesie, o ile nie jest to konieczne, należy utworzyć dowolnego użytkownika usługi (innego niż człowiek), np.jenkins
Jako użytkownik systemu.źródło
/etc/passwd
). W większości nowoczesnych systemów hasła jako takie są przechowywane w innym miejscu - często w/etc/shadow
.Po szybkim wyszukiwaniu „Wyświetl wszystkich użytkowników w systemie Linux” znalazłem tę odpowiedź i uruchomiłem następujące polecenie:
i, jak sugerował @Ipor Sircer, ten użytkownik nie istnieje i muszę go dodać:
źródło
jenkins
użytkownika jest takie samo jak użytkownika utworzonego przez samego Jenkinsa?