Root .bashrc không thực thi trên sudo -i


11

Trên một trong những máy chủ Ubuntu 11.10 của tôi, khi tôi sử dụng sudo -iđể trở thành người dùng root, .bashrc của root không được thực thi. Trên tất cả các máy chủ khác, có cấu hình liên quan giống hệt như tôi biết, nó đang được thực thi đúng cách.

Đây là những gì tôi đã kiểm tra:

  • .bashrc tồn tại trong / root, được sở hữu bởi root: root, allow 644
  • / etc / profile và /etc/bash.bashrc đang được thực thi
  • shell của root được đặt thành "/ bin / bash"
  • Tôi có thể thực thi .bashrc với source .bashrc, sau đó mọi thứ đều bình thường cho phiên đó.
  • Tôi cũng có thể gõ bashđể thực thi bash theo cách thủ công sau khi tôi đã sudoed root và .bashrc sau đó được thực thi
  • ps xác nhận rằng shell đang chạy cho đăng nhập root của tôi là bash.

Còn gì để kiểm tra không?

Câu trả lời:


10

Bạn nên nhìn vào sự hiện diện và nội dung của tập tin /root/.profile.

Tệp init ~/.bashrckhông có nguồn gốc trong shell đăng nhập: trên Ubuntu, nó có nguồn gốc từ~/.profile

Hơn nữa, tập tin /root/.profilekhông được sao chép từ /etc/skel/như đối với người dùng khác, thay vào đó nó được sao chép từ /usr/share/base-files/dot.profiletrong quá trình cài đặt gói base-files.


3

Có một tình huống nữa mà bạn nên ghi nhớ, đó là trường hợp của tôi.

Nếu bạn sẽ tạo .bash_profiletệp thì tệp này sẽ chịu trách nhiệm tải / thực thi .bashrchoặc .profile.

Khi bạn mở thiết bị đầu cuối của mình và sử dụng "sudo -i"và bạn đột nhiên thiếu một số bí danh lệnh, tô màu danh sách tệp, v.v. Điều này sẽ sửa nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.