.bashrc ของรูทไม่ได้ดำเนินการกับ sudo -i


11

ในหนึ่งในเซิร์ฟเวอร์ Ubuntu 11.10 ของฉันเมื่อฉันใช้sudo -iเพื่อเป็นผู้ใช้รูทจะไม่ดำเนินการ. bashrc ของรูท ในเซิร์ฟเวอร์อื่น ๆ ทั้งหมดที่มีการกำหนดค่าที่เกี่ยวข้องเหมือนกันเท่าที่ฉันรู้มันกำลังดำเนินการอย่างถูกต้อง

นี่คือสิ่งที่ฉันตรวจสอบแล้ว:

  • .bashrc มีอยู่ใน / root เป็นเจ้าของโดย root: root, สิทธิ์ 644
  • / etc / profile และ /etc/bash.bashrc กำลังถูกเรียกใช้งาน
  • เปลือกของรูทถูกตั้งค่าเป็น "/ bin / bash"
  • ฉันสามารถรัน. bashrc ด้วยsource .bashrcหลังจากนั้นทุกอย่างเป็นปกติสำหรับเซสชันนั้น
  • ฉันยังสามารถพิมพ์bashเพื่อดำเนินการทุบตีด้วยตนเองหลังจากที่ฉัน sudoed ไปที่รากและ. bashrc จะถูกดำเนินการแล้ว
  • ps ยืนยันว่าเชลล์ที่รันสำหรับล็อกอินรูทของฉันคือทุบตี

มีอะไรให้ตรวจสอบอีกบ้าง?

คำตอบ:


10

/root/.profileคุณควรดูที่การแสดงตนและเนื้อหาของแฟ้ม

ไฟล์ init ~/.bashrcไม่ได้มีที่มาจากเชลล์การเข้าสู่ระบบ: บน Ubuntu มันมีที่มาจาก~/.profile

นอกจากนี้ไฟล์/root/.profileไม่ได้คัดลอกมาจาก/etc/skel/ทั้งสำหรับผู้ใช้อื่น ๆ ก็จะถูกคัดลอกแทนจากระหว่างการติดตั้งแพคเกจ/usr/share/base-files/dot.profilebase-files


3

มีอีกสถานการณ์หนึ่งที่คุณควรจำไว้ซึ่งเกิดขึ้นในกรณีของฉัน

ถ้าคุณจะสร้าง.bash_profileไฟล์แล้วไฟล์นี้คือการไปรับผิดชอบในการโหลด / ดำเนินการหรือ.bashrc.profile

เมื่อคุณเปิดเทอร์มินัลและการใช้งานของ"sudo -i"คุณและคุณก็หายไปในนามแฝงคำสั่งบางรายการสีไฟล์ ฯลฯ จากนั้นตรวจสอบอีกครั้งว่าไฟล์นี้มีอยู่ในไดเรกทอรีบ้านของคุณแล้วเปลี่ยนชื่อมันและเปิดคอนโซลอีกครั้ง สิ่งนี้ควรแก้ไข

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.