У Ubuntu 12.04, коли я sudo -sзмінна $ HOME не змінюється, тому, якщо мій постійний користувач regularuser, ситуація складається так:
$ cd
$ pwd
/home/regularuser
$ sudo -s
# cd
# pwd
/home/regularuser
Я давно відмовився від Ubuntu, тому не можу бути впевненим, але думаю, що це поведінка за замовчуванням. Отже, мої запитання:
Q1. Як це робиться? Де конфігурація?
Q2. Як його відключити?
Редагувати: Дякую за відповіді, які дещо уточнили речі, але, мабуть, я повинен додати пару питань, щоб отримати відповідь, яку я шукаю.
Q3. У Debian sudo -sзмінює змінну $ HOME на /root. З того, що я отримую з відповідей, і man sudoоболонка, з якою побігла, sudo -s- це те, що вказано /etc/passwd, правда?
Q4. Однак і на Ubuntu, і на Debian оболонка, надана /etc/passwdдля root, є /bin/bash. У будь-якій системі також, я не можу знайти , де різниця в .profileабо .bashrcфайли, наскільки $ HOME стурбований, так що поведінка sudo -sвідрізняється. Будь-яка допомога з цього приводу?
sudo, я думаю, що дійсно є різниця за замовчуванням. Однак я не ставлю на це справи, оскільки я перебуваю на коробці, яку встановив хтось інший і працює вже досить довго. У будь-якому випадку, для всіх, хто цікавиться, я знайшов security.stackexchange.com/questions/18369/… та bugs.launchpad.net/ubuntu/+source/sudo/+bug/760140 .
sudoповодиться по-різному між Debian і Ubuntu.