В чем разница между sudo и sudo -H? [дубликат]

Иногда я вижу в обучающих материалах многих веб-сайтов использование sudo -H + command например sudo -H gedit / etc / apt / sources. список . Однако я знаю, что sudo gedit /etc/apt/sources.list может выполнить эту работу.
Кто-нибудь, пожалуйста, скажите мне, в чем разница между sudo -H и sudo ?

2
задан 9 November 2018 в 16:01

3 ответа

Различие прибывает когда, например. gedit пишут предпочтительный файл или что-то подобное $HOME когда это закрывается. Много программ делают это.

Когда Вы работаете

sudo gedit ...

затем $HOME все еще установлен на Ваш корневой каталог (сказать /home/singrium) и gedit запишет его настройки там, но предпочтительный файл будет затем принадлежать root. Это могло бы мешать работать gedit как Ваш пользователь впоследствии, потому что затем gedit не может записать его настройки из-за отсутствия полномочий.

Когда Вы вместо этого работаете

sudo -H gedit ...

затем $HOME будет установлен на rootкорневой каталог (обычно /root) и gedit запишет его предпочтительный файл там, не влияя на Вашу учетную запись.

4
ответ дан 2 December 2019 в 01:36

sudo -H совпадает с sudo --set-home

- H, - домашний набором Запрос, что политика безопасности установила переменную Домашней среды на корневой каталог, указанный записью базы данных пароля целевого пользователя. В зависимости от политики это может быть поведением по умолчанию.

Это избегает домашних полномочий папки пользователя, которые будут изменены на корень.

2
ответ дан 2 December 2019 в 01:36

От man sudo

-H' The -H (HOME) option requests that the security policy set the HOME environment variable to the home directory of the target user (root by default) as specified by the password database. Depending on the policy, this may be the default behavior.

-H gedit в Вашем случае установит $HOME переменная для указания на root (по умолчанию) вместо того, чтобы быть Вашим пользователем размещают dir.

1
ответ дан 2 December 2019 в 01:36

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

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