ทำไมผู้ใช้ที่มีสิทธิ์ใช้งานรูทไม่ได้อยู่ใน ~ อีกต่อไป?


20

เพิ่งอยากรู้อยากเห็นฉันอยากจะรู้ว่าทำไมเมื่อฉันเข้าสู่ระบบในฐานะที่เป็น root ฉันไม่ได้อยู่ใน/ home / ผู้ใช้อีกต่อไป อะไรคือสาเหตุและไดเรกทอรีรากทำหน้าที่อะไร

ฉันไม่ใช่ผู้ใช้ขั้นสูง กรุณาตอบด้วยคำง่าย ๆ หรือให้ลิงค์ที่ให้คำอธิบายที่เรียบง่ายและชัดเจน ฉันใช้ Ubuntu 16.04 และเข้าสู่ระบบด้วยรูsudo -iท ตามที่อธิบายที่นี่ ,sudo -iมีราก /เป็นบ้าน ฉันต้องการที่จะรู้ว่าเหตุผลคืออะไร; มีข้อได้เปรียบอะไรบ้างที่จะมี? และไม่อยู่ใน~sudo -sเช่นผู้ใช้ของ


11
รูทยังเป็นผู้ใช้ดังนั้นเขาจึงมีhomeไดเรกทอรีส่วนตัวของเขาแต่อันนี้มีชื่อว่าroot
damadam

3
คุณสามารถใช้sudo -sเพื่ออยู่ในไดเรกทอรีผู้ใช้เดียวกัน
Pilot6

3
@ Pilot6 ขอโทษฉันเสริมว่าในเวลาเดียวกับที่ผมเห็นความคิดเห็นของคุณ: D หวังว่าคุณไม่คิด :)
Rinzwind

2
@Unbesiegbarkeit man sudoจะตอบคำถาม จะง่ายuser -iคือการใช้การตั้งค่าผู้ใช้รูท แต่sudo -sการตั้งค่าผู้ใช้ปัจจุบัน
Pilot6

6
มีความเป็นไปได้ที่ซ้ำกันของ"su", "sudo -s", "sudo -i", "sudo su" คืออะไร?
muru

คำตอบ:


28

คุณไม่ได้ทำการล็อกในฐานะรูทด้วยการรันsudoคำสั่ง คุณกำลังเริ่มเชลล์ด้วยสิทธิพิเศษรูท

หากคุณต้องการอยู่ในโฮมไดเรกทอรีผู้ใช้ปัจจุบันคุณสามารถใช้sudo -sแทนsudo -iคำสั่ง

cd ~จะนำคุณไปยังไดเรกทอรีเดียวกันราวกับว่าคุณไม่ได้อยู่ในเชลล์ที่มีสิทธิ์ใช้งานรูท /home/$USERอย่างแท้จริง

เมื่อคุณใช้sudo -iระบบจะทำหน้าที่เหมือนกับว่าคุณเข้าสู่ระบบในฐานะrootผู้ใช้ ด้วยเหตุนี้

cd ~ 

นำคุณไปยังโฮมไดเร็กทอรีของผู้ใช้รูทนั่นคือ /rootนำคุณไปยังบ้านของผู้ใช้รากที่เป็น

/root ไดเรกทอรีเป็นไดเรกทอรีบ้านสำหรับ rootผู้ใช้

ความแตกต่างที่สำคัญคือการตั้งค่าไฟล์เปลือกเช่น.bashrcมีการใช้จาก/rootในกรณีของและจากผู้ใช้ปกติในกรณีของsudo -isudo -s


3
ข้อได้เปรียบอะไรที่มี/ รูตเหมือนอยู่บ้าน?
Codito ดังนั้นผลรวม

2
ไฟล์ที่ชอบ.bashrcจะถูกใช้จากที่นั่นในเชลล์ที่เฉพาะเจาะจง ในกรณีส่วนใหญ่ไม่มีความแตกต่างกันมาก
Pilot6

11
@ Unbesiegbarkeit / home อาจไม่สามารถติดตั้งภายใต้สถานการณ์บางอย่างเช่นโหมดผู้ใช้เดี่ยวไม่มีการเข้าถึงเครือข่าย ฯลฯ และรากยังคงต้องสามารถเข้าสู่ระบบในสถานการณ์เหล่านั้น
เสร็จสิ้น 24

2
@ DougO'Neal หาก/homeไม่สามารถใช้งานได้แสดงว่าไม่มีปัญหา จากนั้นคุณเข้าสู่ระบบในฐานะ root
Pilot6

4
@ Pilot6: มีความแตกต่างหรือควรจะเป็น ตัวอย่างเช่นบนเครื่องของฉันฉันตั้งค่าไฟล์ root *. shrc เพื่อให้เห็นได้ชัดว่าฉันใช้เป็น root - เช่นพรอมต์ในรูปแบบที่แตกต่างกันและสีแดง นอกจากนี้ชื่อแทนยังได้รับการตั้งค่าเพื่อไม่ให้ทำบางสิ่งที่อาจเป็นอันตรายหากทำในลักษณะที่เป็นราก & c
jamesqf

29

เหตุผลที่บ้านของrootผู้ใช้เป็น/rootและไม่ใช่/home/rootเพราะโดยปกติ/homeเป็นจุดเชื่อมต่อกับพาร์ติชัน / ไดรฟ์ข้อมูล / ดิสก์แยกต่างหาก ... (สำหรับเหตุผลต่าง ๆ เช่นพื้นที่ดิสก์หรือระยะไกล ... )

หากการติดตั้งด้วยเหตุผลบางอย่าง/homeจะล้มเหลวคุณยังคงสามารถเชื่อมต่อได้rootและอยู่ใน/rootไดเรกทอรีหลักของคุณเพื่อตรวจสอบและแก้ไขสิ่งต่าง ๆ

ยิ่งไปกว่านั้นสำหรับการบำรุงรักษาการตั้งค่าเริ่มต้นการปรับขนาด ... คุณจะเชื่อมต่อเป็นrootและควรจะสามารถยกเลิกการต่อเชื่อม / ใหม่/home


7
+1, นี่ควรเป็นคำตอบที่ยอมรับได้ คุณสามารถเปลี่ยนที่อยู่ของรูทเป็นที่ใดก็ได้ แต่เราปล่อยให้รูทอยู่ใน / และไม่อยู่ที่บ้านเพื่อเหตุผลในการกู้คืน
ntg

16

อะไรคือสาเหตุและไดเรกทอรีรากทำหน้าที่อะไร

รูทมี / รูทเป็นบ้านของมันและเมื่อคุณเปลี่ยนไปที่รูทมันจะทำให้คุณอยู่ในบ้าน sudo -iนั่นคือธรรมชาติของ sudo -sทำสิ่งเดียวกัน แต่ไม่สลับไดเรกทอรี คู่มือสำหรับ sudo :

-s [command]

อ็อพชัน -s (shell) รันเชลล์ที่ระบุโดยตัวแปรสภาวะแวดล้อม SHELL หากถูกตั้งค่าหรือเชลล์ตามที่ระบุในฐานข้อมูลรหัสผ่าน หากระบุคำสั่งคำสั่งจะถูกส่งไปยังเชลล์เพื่อดำเนินการผ่านตัวเลือกเชลล์ของ -c หากไม่ได้ระบุคำสั่งเชลล์เชิงโต้ตอบจะถูกดำเนินการ

-i [command]

-i (เข้าสู่ระบบเริ่มต้นจำลอง) ตัวเลือกที่ทำงานเปลือกที่ระบุโดยรายการฐานข้อมูลรหัสผ่านของผู้ใช้เป้าหมายเป็นเปลือกเข้าสู่ระบบ ซึ่งหมายความว่าไฟล์ทรัพยากรเฉพาะการเข้าสู่ระบบเช่น. profile หรือ .login จะอ่านโดยเชลล์ หากระบุคำสั่งคำสั่งจะถูกส่งไปยังเชลล์เพื่อดำเนินการผ่านตัวเลือกเชลล์ของ -c หากไม่ได้ระบุคำสั่งเชลล์เชิงโต้ตอบจะถูกดำเนินการ sudo พยายามเปลี่ยนเป็นโฮมไดเร็กทอรีของผู้ใช้นั้นก่อนที่จะรันเชลล์นโยบายความปลอดภัยจะต้องเริ่มต้นสภาพแวดล้อมเป็นชุดตัวแปรขั้นต่ำคล้ายกับสิ่งที่มีอยู่เมื่อผู้ใช้ล็อกอินส่วนคำสั่งสภาพแวดล้อมในเอกสารคู่มือ sudoers (5) วิธีที่ตัวเลือก -i ส่งผลกระทบต่อสภาพแวดล้อมที่คำสั่งคือ ทำงานเมื่อมีการใช้นโยบาย sudoers

ผู้ใช้รูทต้องเป็นส่วนหนึ่งของระบบ เมื่อคุณใส่ / home บนพาร์ติชั่นอื่นและรูทเป็นส่วนหนึ่งของ / home คุณจะพบปัญหาร้ายแรงหากพาร์ติชันไม่ได้เมาต์ ด้วยเหตุผลเดียวกันเรายังมี

/bin
/sbin 

และ

/usr/bin
/usr/sbin

เมื่อคุณใส่ / usr บนพาร์ติชันและ / usr ไม่ได้เมาท์คุณยังคงมีระบบที่ใช้งานได้


2
คำถามนี้จะตอบคำถามได้อย่างไร มันเป็นความคิดเห็นหรือไม่?
Pilot6

2
sudo -i ไม่ได้เป็นส่วนหนึ่งของคำถามเมื่อฉันตอบ ;-)
Rinzwind

2
เรามีคำถามและคำตอบเกี่ยวกับsudo -ivs sudo -sหรือไม่
Pilot6

2
อืมเราอาจ ฉันจะค้นหา แก้ไขฉันไม่พบ แต่ฉันจำได้ว่าเห็นหนึ่ง แต่นั่นอยู่ในฟอรั่มอูบุนตูดัตช์ของเรา: D
Rinzwind

2
ดูเหมือนว่าฉันเห็นที่นี่ แต่ไม่สามารถหาได้
Pilot6

15

ระบบไฟล์ลินุกซ์มีโครงสร้างในวิธีเฉพาะ ไบนารีที่สำคัญอยู่ใน/bin/ไฟล์บูตโหลดเดอร์อยู่ใน/boot/ไฟล์อุปกรณ์ส่วนใหญ่อยู่ใน/dev/จุดเชื่อมต่อสำหรับสื่อที่ถอดได้อยู่/media/ฯลฯ

ดูhttps://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

รายละเอียดเล็กน้อยบางอย่างอาจแตกต่างจาก distro ไป distro (เช่น/usr/bin/vs./usr/local/bin/ ) แต่โดยทั่วไป distros Linux เกือบทั้งหมดจะมีโครงสร้างไดเรกทอรีเดียวกัน

ในการตอบคำถามของคุณ:

/home/ของผู้ใช้ไดเรกทอรีบ้านอยู่ใน โดยหลักการแล้ว Linux เป็นระบบปฏิบัติการที่มีผู้ใช้หลายคน คุณอาจมีบัญชีผู้ใช้หนึ่งบัญชีบนแล็ปท็อปของคุณพร้อมไดเรกทอรีภายใน/home/<username>/แต่ถ้าคุณดูใน/home/เซิร์ฟเวอร์ Linux ที่ใช้ร่วมกันคุณจะเห็นไดเรกทอรีบ้านมากมาย: หนึ่งบัญชีสำหรับแต่ละบัญชีผู้ใช้ แนวคิดคือผู้ใช้ทุกคนในระบบมีสิทธิ์ในการเขียนในโฮมไดเร็กตอรี่ของตนเองเท่านั้น หากชื่อผู้ใช้ของคุณคือbobคุณสามารถอ่านและเขียนและลบไฟล์ได้/home/bob/แต่คุณไม่สามารถแตะต้องอะไรก็ได้ใน/home/alice/หรือใน/var/log/หรือ

rootจะแตกต่างกัน rootเป็นผู้ใช้ที่เป็นผู้ดูแลระบบและมีสิทธิ์ในการเขียนทุกที่ในระบบ (และสามารถทำหน้าที่เป็นผู้ใช้ของระบบ) ดังนั้นจึงเหมาะสมที่rootมีโฮมไดเร็กตอรี่พิเศษ/root/เนื่องจากrootไม่ใช่ผู้ใช้ทั่วไป อื่น ๆ กว่าที่/root/เป็นเพียงไดเรกทอรีปกติที่ไม่มีเวทมนตร์พิเศษแม้ว่ามันจะเป็นไปได้ที่เงียบสงบ (แม้จะมีแนวโน้ม) ที่ระบบสาธารณูปโภคพึ่งพาเป็นบ้านของผู้ใช้/root/root

เมื่อคุณดำเนินการsudo -iใน terminal, คุณสลับจากการเช่นการใช้งานปกติจะเป็นbob rootโปรดทราบว่าสวิตช์นี้มีผลกระทบเฉพาะหน้าต่าง terminal sudo -iที่คุณพิมพ์ สำหรับตัวจัดการไฟล์ของคุณคุณยังอยู่bobและถ้าคุณเปิดหน้าต่างเทอร์มินัลอื่นคุณยังbobอยู่ในนั้น ในบริบทนี้สัญลักษณ์~เป็นชวเลขสำหรับไดเรกทอรีบ้านของผู้ใช้ปัจจุบัน สำหรับbob ~วิธี/home/bob/แต่สำหรับวิธีการroot ~/root/

ฉันหวังว่าสิ่งที่ชัดเจนสำหรับคุณ


3
นี่คือคำตอบที่สมบูรณ์แบบ!
Pilot6

5
อาจเป็นเรื่องที่น่าสังเกตว่าในตอนแรกไดเรกทอรีโฮมของรูท/นั้น ตำแหน่งมาตรฐานมีการเปลี่ยนแปลงด้วยเหตุผลด้านความปลอดภัย (ทุกคนจะต้องสามารถแสดงรายการไฟล์ได้/ดังนั้นทุกคนจึงสามารถเห็นสิ่งที่ผู้ใช้รูทไฟล์มีดอทฟิลส์
Austin Hemmelgarn

14

ฉันเห็นว่าทุกคนตอบว่าเกิดอะไรขึ้นเมื่อคุณเข้าสู่ระบบในฐานะ root (คุณจะได้รับไดเรกทอรี ~ ที่ไม่ได้อยู่ในบ้าน /) แต่ไม่มีใครพูดว่าทำไม นี่คือเหตุผล:

หากโครงสร้าง / โฮมทั้งหมดไม่สามารถใช้งานได้และคุณต้องแก้ไขหรือถ้าคุณจำเป็นต้องจัดสรรใหม่ / โฮมเนื่องจากพื้นที่ไม่เพียงพอคุณต้องทำเช่นนั้น คุณไม่สามารถเข้าสู่ระบบในฐานะผู้ใช้ที่มี ~ ใน / บ้านได้เนื่องจากคุณเกิดข้อผิดพลาดทันทีที่คุณพยายามทำอะไร ดังนั้นผู้ใช้รูทจึงมี ~ ที่อื่น


3
ลองและขึ้นอยู่กับการตั้งค่า distro และการรักษาความปลอดภัยในฐานะผู้ใช้ปกติคุณจะไม่เข้าสู่ระบบหรือจบลงด้วย / เป็น cwd และ $ HOME เพียงไม่สามารถเข้าถึงได้ ประเด็นก็คือรูทมักจะต้องการเข้าถึงโฮมไดเร็กตอรี่เมื่อคนอื่นไม่เช่นเนื่องจากไฟล์ที่มีความต้องการพิเศษ คล้ายกับ fss ส่วนใหญ่คุณได้จองพื้นที่ไว้สำหรับรูทและบัญชีระบบมีผู้ดูแลที่บ้านอยู่ข้างนอก / ที่บ้าน
PlasmaHH

2
คำตอบจาก alexf และ arp โพสต์ในภายหลังโดยทั่วไปจะพูดในสิ่งเดียวกัน ไม่มีใครอ่านโพสต์ที่มีอยู่ก่อนที่จะเพิ่มคำตอบของตัวเอง?
Jennifer

@Dan - ฉันได้ย้อนกลับการเปลี่ยนแปลงของคุณ เพื่อปัญญา:
เจนนิเฟอร์

(1) ฉันคิดว่าเป็นการปรับปรุงที่จะใส่ / กลับบ้านและ ~ ในกล่องกาเครื่องหมาย แต่ไม่ใช่ทุกสิ่งที่สำคัญที่ต้องทำเพราะทุกคนรู้ว่าฉันหมายถึงอะไรอยู่ดี คุณรู้ว่าฉันหมายถึงอะไร (2) "คุณจะผิดพลาดทันทีที่คุณลอง" ไม่สอดคล้องกัน "คุณ" คือ "คุณจะ" และ "จะ" เป็นอดีตกาลดังนั้นจึงต้องไปกับ "ลอง" ซึ่งเป็นอดีตกาลมากกว่า "ลอง" ซึ่งเป็นกาลปัจจุบัน (3) "hir" เป็นคำสรรพนามใหม่ที่คิดค้นโดย Kate Bornstein; มันครอบคลุม "เขา" และ "เธอ" และมีประโยชน์เมื่อคุณไม่ทราบเพศ ("Ze" ปิดบัง "เขา" และ "เธอ")
Jennifer

@ เจนนิเฟอร์ไม่ต้องกังวล คุณเรียนรู้สิ่งใหม่ทุกวัน. ฉันคิดว่าhirเป็นตัวพิมพ์ผิด ขอบคุณสำหรับข้อมูลทั้งหมด! ฉันแนะนำให้ทำการจัดรูปแบบโค้ดให้ยุ่งยาก แต่ก็ขึ้นอยู่กับคุณ
Dan

8

คุณบอกว่าคุณไม่ใช่ผู้ใช้ขั้นสูงดังนั้นฉันจะพยายามเขียนคำตอบทีละขั้นตอน

เมื่อคุณใช้ Linux คุณต้องจำสิ่งที่สำคัญบางอย่าง:

  • Linux เป็นระบบผู้ใช้หลายคน มันรู้สึกเช่นนั้นตั้งแต่เริ่มต้นตามปรัชญาของ Unix (สังเกตวิธีการที่แตกต่างจาก Windows ซึ่งคิดว่าเป็นระบบผู้ใช้คนเดียว)

  • ในฐานะที่เป็นระบบผู้ใช้หลายคน Linux มีความสามารถในการแยกไฟล์ที่เป็นของผู้ใช้แต่ละคนในระบบ วิธีที่ Linux ประสบความสำเร็จคือการกำหนดโฟลเดอร์ย่อยให้กับผู้ใช้แต่ละคนใน/home/ไดเรกทอรี ไฟล์ผู้ใช้แต่ละคนเป็นของเขา / เธอและมีเพียงเขาเท่านั้นที่สามารถเปิดแก้ไขหรืออนุญาตให้ผู้ใช้รายอื่นใช้งานได้ ในทางกลับกันแต่ละไฟล์ในระบบไฟล์เป็นของผู้ใช้และผู้ใช้นั้นมีอำนาจเหนือใครสามารถดูหรือใช้ไฟล์นั้น ดังที่ได้กล่าวไว้ในคำตอบอื่นผู้ใช้ดั้งเดิมสามารถวางไฟล์ของพวกเขาไว้ที่ใดก็ได้ในระบบ แต่ในบางจุดมันก็เห็นได้ชัดว่าสิ่งต่าง ๆ ควรจัดระเบียบได้ดีกว่าและ/home/("สแลช - โฮม") กลายเป็นสถานที่ที่ไฟล์ของผู้ใช้

  • อย่างไรก็ตามมีไฟล์ที่ระบบของตัวเองและ / หรือผู้ใช้ทุกคนในระบบต้องการ: ไบนารี, ไฟล์อุปกรณ์, ไฟล์ระบบ, ฯลฯ (จำไว้ว่า: ใน Linux และในระบบยูนิกซ์อื่น ๆทุกอย่างเป็นไฟล์) . นี้ไฟล์ที่จำเป็นทั่วโลกจะถูกเก็บไว้ในสถานที่ต่างๆพร้อมระบบแฟ้มจัดในโฟลเดอร์ต่างๆภายในรากของระบบแฟ้ม/ : นอกจากนี้ไฟล์ที่ต้องการทั่วโลกเหล่านี้ไม่ได้เป็นของผู้ใช้เฉพาะของระบบ แต่เป็นระบบของตัวเอง ... แต่ที่อาจเกิดความสับสน: ใครเป็นเจ้าของไบนารี? ใครให้สิทธิ์มากกว่าไฟล์ที่จำเป็นทั่วโลกเหล่านี้

  • เนื่องจากทุกไฟล์ในระบบ "ต้องการเจ้าของ" จึงต้องมี "ผู้ใช้พิเศษ" ที่สามารถจัดการไฟล์ที่ต้องการทั่วโลกได้ นอกจากนี้ "ผู้ใช้พิเศษ" นี้สามารถทำสิ่งต่าง ๆ ที่ผู้ใช้รายอื่นไม่สามารถทำได้: เขาสามารถสร้างผู้ใช้รายอื่นสำหรับระบบ ผู้ใช้รายนี้เรียกว่า "super user" (สำหรับเราปุถุชน) หรือ "root" (สำหรับระบบ)

  • ตอนนี้ superuser นี้เป็นผู้ใช้ระบบคนอื่น แต่มีอำนาจ (และความรับผิดชอบ) เหนือกว่าผู้ใช้รายอื่นเช่นการบำรุงรักษา ดังนั้นจึงเป็นธรรมดาที่จะคิดว่า "รูท" ต้องมีที่สำหรับเก็บสิ่งของของเขา แต่ต้องไม่สับสนกับของที่เป็นของผู้ใช้รายอื่น ดังนั้นแทนที่จะมีโฟลเดอร์ย่อยด้านล่าง/home/"root" มีพื้นที่สงวนของตนเองในระบบไฟล์: /root/(เรียกว่า "slash-root") ข้อควรจำ: "รูท" เป็นผู้ใช้ที่พิเศษมากดังนั้นจึงต้องการสถานที่ที่พิเศษและมีสิทธิพิเศษในการวางสิ่งของของเขา

  • ตอนนี้อูบุนตูไม่ได้มีบัญชีรูทที่เปิดใช้งานโดยค่าเริ่มต้นดังนั้นผู้ใช้ "ปกติ" จะต้องมีสิทธิอำนาจเหนือระบบโดยรวม นั่นคือสิ่งที่sudoคำสั่ง ("สลับผู้ใช้และทำ") เริ่มทำงาน: อนุญาตให้ผู้ใช้ปกติ (ก่อนหน้านี้รวมอยู่ในรายการ "sudoers") เพื่อดำเนินการคำสั่งราวกับว่าเขาเป็นผู้ใช้รายอื่นเช่น "รูท"

  • ในที่สุด-iตัวเลือกนั้นหมายถึง "จำลองการเข้าสู่ระบบเริ่มต้น" นั่นหมายความว่าsudoจะอ่านข้อมูลของ "โปรไฟล์ผู้ใช้เป้าหมาย" ก่อนดำเนินการคำสั่งที่กำหนด หากคุณไม่ได้ให้คำสั่งแล้วsudoจะเริ่มเชลล์อินสแตนซ์ที่มีโปรไฟล์ผู้ใช้เป้าหมาย (root) ... และที่เริ่มต้นด้วยการย้ายไปยังโฟลเดอร์ "บ้าน" ของ "ผู้ใช้เป้าหมาย" ดังนั้นsudo -iจะย้ายคุณไปที่โฟลเดอร์บ้านของรูท ( /root/)

sudo -iฉันหวังว่านี้จะช่วยให้คุณเข้าใจสิ่งที่เกิดขึ้นกับ


แก้ไข

ฉันคิดว่าฉันทิ้งอะไรซักอย่างไว้ก่อนฉันจะเพิ่มที่นี่:

  • ฉันกล่าวข้างต้น: "ใน Linux ทุกอย่างเป็นไฟล์" และฉันหมายถึงมันอย่างแท้จริง! เอกสารและรูปภาพของคุณเป็นไฟล์ แต่ยังรวมถึงเทอร์มินัล (เช่นที่คุณสามารถเข้าถึงการกด [CTRL] + [ALT] + [Fn]) และไดรฟ์ทางกายภาพและแป้นพิมพ์ของคุณ ระบบที่เหมือนยูนิกซ์ทำงานโดยการอ่านหรือเขียนข้อมูลจาก / ไปยังไฟล์และควบคุมการไหลของข้อมูลไปยัง / จากไฟล์ที่เหมาะสมในระบบซึ่งแสดงถึงไฟล์ที่คุณทำงานด้วยและอินพุตของคีย์ที่คุณกำลังพิมพ์ และเอาท์พุทที่คุณเห็นบนหน้าจอ ผู้ใช้บางคนสามารถใช้ไฟล์เหล่านี้ได้โดยตรง แต่บางไฟล์ไม่สามารถใช้งานได้ ตัวอย่างเช่นคุณไม่สามารถอ่านหรือเขียนโดยตรงไปยังฮาร์ดไดรฟ์ได้ แต่คุณต้องให้ Linux เชื่อมโยงโฟลเดอร์ปกติที่สามารถเรียกดูได้ไปยังไฟล์อุปกรณ์ (ใต้/dev/) ที่แสดงถึงฮาร์ดไดรฟ์ของคุณ

  • ระบบไฟล์ Linux สามารถขยายฟิสิคัลไดรฟ์ได้หลายตัว ตัวอย่างง่ายๆคือเมื่อคุณเสียบไดรฟ์ปากกา USB: Linux สามารถติดตั้งไดรฟ์นั้นได้ (การติดตั้งเป็นกระบวนการที่ระบบเชื่อมต่อโฟลเดอร์มาตรฐานซึ่งคุณสามารถดูไฟล์ในเชลล์หรือเนวิเกเตอร์ไฟล์ไปยังไฟล์อุปกรณ์/dev/) และ คุณสามารถทำงานกับมันได้และเมื่อคุณทำเสร็จแล้วคุณขอให้ Linux ถอนการเชื่อมต่อไดรฟ์แล้วลบออกจากพอร์ต USB สิ่งสำคัญที่นี่คือว่าวัฏจักร "เมานต์ - unmount" มีผลต่อ * ระบบไฟล์เดียวกัน "ที่คุณใช้ทุกวัน: คุณไม่ได้สร้างระบบไฟล์ใหม่ทุกครั้งที่คุณเพิ่มหรือลบฟิสิคัลไดรฟ์ แต่คุณเพิ่มไดรฟ์ทางกายภาพ เปรียบเทียบปรัชญานี้กับแนวทางของ Wndows)

  • เนื่องจากระบบไฟล์สามารถขยายไดรฟ์ฟิสิคัลหลายไดรฟ์จึงเห็นได้ว่าไฟล์ต่าง ๆ ของระบบสามารถเขียนลงในฟิสิคัลไดรฟ์ที่แตกต่างกันได้ ไดรฟ์หนึ่งสามารถจัดเก็บไบนารีระบบ ( /bin/) และอีกไดรฟ์หนึ่งสามารถจัดเก็บไฟล์ของผู้ใช้ ( /home/และผู้สืบทอด) ในการตั้งค่ามัลติไดรฟ์เป็นเรื่องปกติที่จะ/home/เขียนลงในฟิสิคัลไดรฟ์ที่แตกต่างกัน/root/ดังนั้นถ้าระบบหยุดและผู้ใช้ไม่สามารถเข้าสู่ระบบได้เนื่องจากไดรฟ์ที่/home/หยุดทำงานรูทสามารถ (นี่เป็นเรื่องง่าย ... ต้องคัดลอกหลายสิ่งลงในไดรฟ์ทางกายภาพเพื่ออนุญาตให้รูทเข้าสู่ระบบหากไม่มีผู้ใช้รายอื่นสามารถทำได้

  • และตัว~อักษรtilde ( ) ... มันหมายถึงโฮมไดเรกทอรีของผู้ใช้ปัจจุบัน หากคุณเข้าสู่ระบบในขณะที่ "บ๊อบ" จากนั้นcd ~จะนำคุณไป/home/bob/แต่ถ้าคุณเข้าสู่ระบบเป็น "ราก" จากนั้นcd ~จะนำคุณไป/root/

tl; drดังนั้นตอนนี้ฉันคิดว่าทุกอย่างพูดว่า:

  • "root" เป็นผู้ใช้พิเศษที่มีพลังและความรับผิดชอบสูงกว่าผู้ใช้รายอื่น

  • "/ root /" เป็นสถานที่ที่ "root" สามารถจัดเก็บข้อมูลได้โดยไม่ต้องเสี่ยงกับการสับสนกับสิ่งอื่น ๆ ที่เป็นของผู้ใช้ทั่วไป โฟลเดอร์นี้สามารถเขียนลงในฟิสิคัลไดรฟ์/home/อื่นได้

  • sudo -iสตาร์ทเชลล์เพื่อจำลองการล็อกอินของรูทและนั่นหมายถึงการย้ายไปยังโฮมโฟลเดอร์ของรูท เช่นเดียวกับผู้ใช้คนอื่น ๆcd ~จะนำคุณไปยังโฮมไดเร็กตอรี่ของคุณ, แต่ถ้าคุณรูท, มันจะเป็น/root/

  • หากระบบถูกติดตั้งในไดรฟ์ฟิสิคัลที่ต่างกันรูทสามารถล็อกอินและพยายามแก้ไขสิ่งต่าง ๆ แม้ว่าไดรฟ์อื่นในระบบจะล้มเหลว


1
คำตอบที่สมบูรณ์แบบ!
Arch

7

เหตุผลหลักที่ทำให้ไดเรกทอรีหลักของรูทต้องได้รับการปฏิบัติแตกต่างกัน:

เมื่อเกิดข้อผิดพลาดคุณต้องสามารถดำเนินการกู้คืนระบบได้ทันทีที่คุณจัดการเมาท์ / ระบบไฟล์

ทั้งนี้ขึ้นอยู่กับไดเรกทอรีบ้านของผู้ใช้ติดตั้งของคุณอาจอยู่ในระบบไฟล์ที่แตกต่างกันหรือพวกเขาอาจจะติดตั้งผ่านเครือข่าย

เพื่อเข้าสู่ระบบในฐานะ root (เช่นป้อนชื่อรูทและรหัสผ่านรูทที่พรอมต์การเข้าสู่ระบบ) จากคอนโซลคุณจะต้องติดตั้งระบบไฟล์เดียว

(นี่คือสาเหตุที่ยูทิลิตี้หลักอยู่ใน / bin และ / sbin แทน / usr / bin หรือ / usr / sbin - ทุกอย่างใน / usr นั้นสิ้นเปลือง)

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