Skip to content


Как заставить sudo сохранять $HOME

Начиная с CentOS 6, sudo перестало по-умолчанию сохранять переменную окружения $HOME, заменяя её на $HOME того юзера, на которого переключаемся (обычно это директория /root). Поскольку у меня много чего понастроено в ~/.bashrc и ~/.vimrc, то такое поведение меня напрягало (так как после команды "sudo -s" bash и vim вместо этих файлов обрабатывали /root/.bashrc и /root/.vimrc соответственно). Решение простое: нужно добавить строку

  1. Defaults env_keep += "HOME"

в файл /etc/sudoers с помощью команды visudo. Эффект следующий:

  1. [avz@dev ~]$ sudo -s
  2. [root@dev ]# echo $HOME
  3. /root

После:

  1. [avz@dev ~]$ sudo -s
  2. [root@dev ~]# echo $HOME
  3. /home/avz
Кто на самом деле получает очтеты от команды sudo

Кто читает репорты от sudo

Posted in *nix, Howto.

Tagged with , .


One Response

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Charon says

    там очень много всего поменялось. Для упрощения своей жизни я делаю так:
    User_Alias ADMINS = peter
    Defaults:ADMINS !env_reset, !secure_path
    ADMINS ALL=(ALL) NOPASSWD: ALL

You must be logged in to post a comment.