Використовуючи "su -", щоб змінити користувача з "Немає пароля для користувача"


16

Зокрема, я намагаюся щось перевірити на своєму сервері збірки, перейшовши на користувача "jenkins":

sudo su - jenkins
No passwd entry for user 'jenkins'

1
adduser jenkins
Іпор Сірсер

@IporSircer Дякую, так, схоже, що немає користувачів jenkins.
kevlarjacket

Відповіді:


10

Повідомлення про помилку є досить зрозумілим. Це говорить про те, що користувач jenkinsне має запису у /etc/passwdфайлі, тобто користувач не існує в системі.

Коли ви робите будь-які операції, пов’язані з користувачем, для яких потрібні ім’я користувача, пароль, домашній каталог, інформація оболонки, /etc/passwdспочатку звертаються до файлу. Жоден запис у цьому файлі не призводить до тієї самої помилки, яку ви отримуєте. Тому спочатку потрібно створити користувача ( useradd/ adduser). В якості додаткової примітки, якщо немає необхідності, слід створити будь-якого користувача, що не відповідає особі, наприклад, jenkinsяк користувача системи.


11
Я б стверджував, що це не є пояснювальним. Помилка стосується пароля, а проблема полягає у відсутності користувача. Якщо помилка була у користувача, не існує, це було б самопоясненням.
YannickSSE

1
@YannickSSE повідомлення про помилку не про пароль, а про passwd, який є традиційною базою даних облікових записів користувачів у системі (проживає в /etc/passwd). У більшості сучасних систем паролі як такі зберігаються в іншому місці - часто в /etc/shadow.
петерф

4

Після швидкого пошуку "Список усіх користувачів в Linux", я знайшов цю відповідь і запустив таку команду:

cut -d: -f1 /etc/passwd

і, як запропонував @Ipor Sircer, цього користувача насправді не існує, і я повинен додати його за допомогою:

adduser jenkins

Чи вирішено це питання? Чи створити jenkinsкористувача самостійно, як користувача, створеного самими jenkins?
reiley
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.