Невозможно запустить команду как www-data с использованием su

Чтобы восстановить старое соглашение об именах, вам необходимо отредактировать файл / etc / default / grub и добавить следующий

net.ifnames=0 biosdevname=0 

в конец переменной GRUB_CMDLINE_LINUX

]
14
27.02.2017, 12:56
4 ответа

Не обсуждая su vs. sudo , вы можете попробовать добавить -s / bin / sh в свою командную строку. (Мне не удалось убедиться, что эта опция доступна для jessie, поскольку веб-сервер с руководствами Debian не работает: https://manpages.debian.org/ )

30
27.01.2020, 19:50

Вы используете su, который используется для "переключения пользователя". Конечно, это не сработает, потому что www-data - это учетная запись пользователя, которая не может быть использована для входа в систему. Вы сказали: /usr/sbin/nologin.

Возможно, вам нужен sudo, который используется для "выполнения команды от имени другого пользователя".

sudo -u www-data ./http-app.py
50
27.01.2020, 19:50

Если вы хотите не только выполнить одну команду, но и переключиться на www-data, чтобы проверить некоторые вещи для этого пользователя, это сработало для меня:

sudo -u www-data sh

Немного короче. Выйдите из сеанса с помощью [ctrl]+[d] или exit

.
12
27.01.2020, 19:50

При такой проблеме я использовал вариант-p:

su -pc./http-app.py www-data

-p :окружающая среда сохраняется. В частности, он не пытается войти в систему с новой учетной записью, поэтому вы не получаете сообщение:This account is currently not available..

2
27.01.2020, 19:50

Теги

Похожие вопросы