www-данные находятся в /etc/group, но не в /etc/passwd. Когда я пытаюсь создать пользователя www-data с
sudo adduser www-data
Я получаю это сообщение:
adduser: The group `www-data' already exists
Это сообщение не имеет никакого смысла. Когда я бегу
apache2ctl configtest
я получил
chown: invalid user: 'www-data'
что тоже не имеет смысла. В файле apache error.log ничего нет. В файле apache envars указано, что пользователь и группа должны быть www-data:www-data, но Ubuntu не позволяет мне создать пользователя с именем www-data. Я пробовал сделать это разными способами, например, используя диалоговое окно «Параметры системы», useradd, usermod и т. д., но безуспешно.
Apache2 не будет работать без www-data:www-data.
Любая помощь, пожалуйста.





Каким бы запутанным это ни казалось, вам следует использовать useradd вместо adduser.
useradd -g www-data --shell=/usr/sbin/nologin www-data
Эта команда создаст пользователя с именем www-data и добавит его в существующую группу с именем www-data.
Команда adduser — это всего лишь помощник, который вызовет useradd и еще несколько команд. Более того, useradd не создаст ненужную папку /home/www-data.
Обновлено: добавление --shell предотвращает прямой вход в систему как www-data, поскольку он должен оставаться системной учетной записью.
Спасибо! Это сработало! Я попробовал пару перестановок useradd, но ни одна не сработала. Я (ошибочно) подумал, что мне придется сначала создать пользователя www-data, чего Ubuntu не позволил. Ваш метод создает пользователя и добавляет его в группу за один шаг. Я не понимаю, что такое --shell, но моя проблема решена. Я закрыл вопрос.