Начиная с CentOS 6, sudo перестало по-умолчанию сохранять переменную окружения $HOME, заменяя её на $HOME того юзера, на которого переключаемся (обычно это директория /root). Поскольку у меня много чего понастроено в ~/.bashrc и ~/.vimrc, то такое поведение меня напрягало (так как после команды "sudo -s" bash и vim вместо этих файлов обрабатывали /root/.bashrc и /root/.vimrc соответственно). Решение простое: нужно добавить строку
Defaults env_keep += "HOME"
в файл /etc/sudoers с помощью команды visudo. Эффект следующий:
[avz@dev ~]$ sudo -s [root@dev ]# echo $HOME /root
После:
[avz@dev ~]$ sudo -s [root@dev ~]# echo $HOME /home/avz
там очень много всего поменялось. Для упрощения своей жизни я делаю так:
User_Alias ADMINS = peter
Defaults:ADMINS !env_reset, !secure_path
ADMINS ALL=(ALL) NOPASSWD: ALL