Na Ubuntu 12.04, kiedy I sudo -s
zmienna $ HOME nie jest zmieniana, więc jeśli mój zwykły użytkownik jest regularuser
, sytuacja wygląda następująco:
$ cd
$ pwd
/home/regularuser
$ sudo -s
# cd
# pwd
/home/regularuser
Dawno temu zrezygnowałem z Ubuntu, więc nie jestem pewien, ale myślę, że jest to zachowanie domyślne. Tak więc moje pytania to:
Pytanie 1 Jak to się robi? Gdzie jest konfiguracja?
Q2 Jak mogę to wyłączyć?
Edycja: Dzięki za odpowiedzi, które nieco to wyjaśniły, ale chyba muszę dodać kilka pytań, aby uzyskać odpowiedź, której szukam.
Pytanie 3 W Debianie sudo -s
zmienia zmienną $ HOME na /root
. Z tego, co otrzymałem z odpowiedzi i man sudo
powłoki, z którą uciekłem, sudo -s
jest ta podana /etc/passwd
, prawda?
Pytanie 4 Jednak zarówno w Ubuntu, jak i Debianie, powłoką podaną /etc/passwd
dla roota jest /bin/bash
. W żadnym systemie również nie mogę znaleźć, gdzie jest różnica .profile
lub w .bashrc
plikach, jeśli chodzi o $ HOME, więc zachowanie się sudo -s
różni. Jakaś pomoc na ten temat?
sudo
, myślę, że rzeczywiście istnieje różnica domyślnie. Jednak nie stawiam na to, ponieważ jestem na polu, które zostało ustawione przez kogoś innego i działa od dłuższego czasu. W każdym razie dla wszystkich zainteresowanych znalazłem security.stackexchange.com/questions/18369/... i bugs.launchpad.net/ubuntu/+source/sudo/+bug/760140 .
sudo
zachowywał się inaczej między Debianem a Ubuntu.