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'
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'
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.
/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:
cut -d: -f1 /etc/passwd
i, jak sugerował @Ipor Sircer, ten użytkownik nie istnieje i muszę go dodać:
adduser jenkins
jenkins
użytkownika jest takie samo jak użytkownika utworzonego przez samego Jenkinsa?
adduser jenkins