На этот вопрос уже есть ответ здесь:
su manual
http://manpages.ubuntu.com/manpages/precise/man1/su.1.html
Текущая среда передается новой оболочке.
Очевидно, вы не можете использовать su в Ubuntu, как в su
, но всегда должно быть sudo su
, поскольку пользователь root отключен в Ubuntu, но, похоже, это меняет возможности su команда.
Есть какие-нибудь объяснения?
Я думаю, что считал где-нибудь, что sudo не проводит все переменные среды нарочно, так как это могло использоваться для представления корневого использования (мало чем отличающийся от недавних ошибок удара). Или Вы, возможно, должны использовать sudo с-E
-E, --preserve-env
Indicates to the security policy that the user wishes to pre‐
serve their existing environment variables. The security
policy may return an error if the user does not have permis‐
sion to preserve the environment.
, Таким образом, можно было установить различную "политику безопасности", где-нибудь. man sudo
имеет больше информации, это, кажется, имеет больше настроек, чем всего su
, делает.
Можно использовать su
непосредственно, если Вы включили пользователю root путем установки пароля для того же.
Это может быть сделано с командой
sudo passwd root