Чтобы восстановить старое соглашение об именах, вам необходимо отредактировать файл / etc / default / grub
и добавить следующий
net.ifnames=0 biosdevname=0
в конец переменной GRUB_CMDLINE_LINUX
Не обсуждая su
vs. sudo
, вы можете попробовать добавить -s / bin / sh
в свою командную строку. (Мне не удалось убедиться, что эта опция доступна для jessie, поскольку веб-сервер с руководствами Debian не работает: https://manpages.debian.org/ )
Вы используете su
, который используется для "переключения пользователя". Конечно, это не сработает, потому что www-data
- это учетная запись пользователя, которая не может быть использована для входа в систему. Вы сказали: /usr/sbin/nologin
.
Возможно, вам нужен sudo
, который используется для "выполнения команды от имени другого пользователя".
sudo -u www-data ./http-app.py
Если вы хотите не только выполнить одну команду, но и переключиться на www-data
, чтобы проверить некоторые вещи для этого пользователя, это сработало для меня:
sudo -u www-data sh
Немного короче. Выйдите из сеанса с помощью [ctrl]+[d] или exit
При такой проблеме я использовал вариант-p
:
su -pc./http-app.py www-data
-p :окружающая среда сохраняется. В частности, он не пытается войти в систему с новой учетной записью, поэтому вы не получаете сообщение:This account is currently not available.
.