Trước hết, không sử dụng sudo su
. Điều đó không sai, hoặc nguy hiểm hay bất cứ điều gì, nó chỉ là không phù hợp và vô nghĩa . Bạn đang chạy hai chương trình riêng biệt để thực hiện một công việc dễ dàng được xử lý bởi một. Nếu bạn muốn bắt đầu một shell như root, sudo
có thể làm điều đó cho bạn.
Nếu bạn muốn bắt đầu một vỏ đăng nhập (đó là những gì sudo su -
), hãy sử dụng sudo -i
. Tuy nhiên, vì nó bắt đầu một vỏ đăng nhập, sẽ đưa bạn đến thư mục gốc của root theo mặc định.
Để bắt đầu một vỏ thông thường, không đăng nhập, bạn có thể sử dụng sudo -s
. Điều đó sẽ bắt đầu một shell root cho bạn và giữ bạn trong thư mục bạn đã chạy nó từ:
terdon@tpad ~ $ pwd
/home/terdon
terdon@tpad ~ $ sudo -i ## changes directory
[root@tpad ~]# pwd
/root
[root@tpad ~]# logout
terdon@tpad ~ $ sudo -s ## doesn't change directory
[root@tpad terdon]# pwd
/home/terdon
Vì vậy, cách để bắt đầu một shell root và ở trong cùng một thư mục là sudo -s
.
sudo -s
không chạy hồ sơ người dùng mục tiêu vì nó không phải là vỏ đăng nhập. Vì vậy, có lẽ câu hỏi thực sự là liệu có cách nào để có được một vỏ đăng nhập hay khôngsudo
, nhưng không thay đổi thư mục. Chắc là không.