Почему в Ubuntu 18.04 команда «sudo -u username -s» не работает, как в CentOS 7? [дубликат]

В версиях Ubuntu до Ubuntu 19.10 Эоан Эрмин, когда я запускаю команду с sudo , эта команда получает мой домашний каталог в переменной среды $ HOME . Я давно ожидал такого поведения и предупреждал других людей о . Если я хочу, чтобы sudo сбрасывал переменную среды $ HOME , чтобы она ссылалась на домашний каталог целевого пользователя, а не на мой собственный, я должен передать -H (или -i , хотя это больше).

ek@Kip:~$ lsb_release -d
Description:    Ubuntu 18.04.3 LTS
ek@Kip:~$ sudo printenv HOME  # Shows ek's home, not root's.
/home/ek
ek@Kip:~$ sudo -u as printenv HOME  # Shows ek's home, not as's.
/home/ek
ek@Kip:~$ sudo -H printenv HOME  # Shows root's home.
/root
ek@Kip:~$ sudo -Hu as printenv HOME  # Shows as's home.
/home/as

Когда я впервые обновился до Ubuntu 19.10, я был удивлен, обнаружив, что sudo , похоже, сбрасывает $ HOME , несмотря ни на что! Я продолжаю наблюдать это сейчас, когда выпущена 19.10 и я установил обновления - как в недавно установленных системах, так и в той, которую я обновил до 19.10.

ek@Cord:~$ lsb_release -d
Description:    Ubuntu 19.10
ek@Cord:~$ sudo printenv HOME  # Shows root's home, even without -H or -i.
/root
ek@Cord:~$ sudo -u as printenv HOME  # Shows as's home, even without -H or -i.
/home/as
ek@Cord:~$ sudo -H printenv HOME  # Also shows root's home.
/root
ek@Cord:~$ sudo -Hu as printenv HOME  # Also shows as's home.
/home/as

Я подумал, что это могло быть из-за обновленных файлов конфигурации . Но я проверил, и always_set_home не отображается ни в одной строке Defaults в моем файле 19.10 / etc / sudoers .

Что заставляет sudo по-другому относиться к $ HOME начиная с 19.10, и почему было внесено это изменение? Делает ли это безопасным использование простого sudo ] в тех случаях, когда я раньше использовал бы sudo -H ?

78
задан 7 November 2019 в 17:00

0 ответов

Другие вопросы по тегам:

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