[... ] แต่ดูเหมือนจะไม่สมเหตุสมผลเนื่องจากฉันต้องใส่ sudo เสมอไม่ว่าฉันจะจัดการแพ็คเกจแก้ไขไฟล์ปรับแต่งติดตั้งโปรแกรมจากแหล่งหรือคุณมีอะไรบ้าง [ ... ]
คำคุณศัพท์โดยนัยที่เกี่ยวข้องกับสิ่งเหล่านี้คือการเปลี่ยนแปลงทั้งระบบหรือ
ทั่วโลก คุณต้องพิจารณาถึงต้นกำเนิดของ Unix ว่าเป็นระบบที่มีผู้ใช้หลายคน1ซึ่งผู้ใช้หลายคนจะใช้การติดตั้งเดียวกันจากระยะไกล ผู้ใช้คนธรรมดาคนหนึ่งจะไม่อนุญาตให้เปลี่ยนการตั้งค่าส่วนกลางสำหรับผู้ใช้ทั้งหมด มันเป็นของดูแลระบบรากของสิทธิพิเศษและความรับผิดชอบ
ในการตั้งค่าผู้ใช้หลายคนคุณมีซอฟต์แวร์ที่ติดตั้งไว้ล่วงหน้าและการกำหนดค่าทั้งระบบภายใต้/usr
และ/etc
ตามลำดับ การแตะที่ตั้งเหล่านี้จะต้องได้รับอนุญาตจากรูท แต่เนื่องจากซอฟต์แวร์ Unix เขียนขึ้นโดยคำนึงถึงผู้ใช้หลายคนคุณสามารถรวบรวมและติดตั้งซอฟต์แวร์ภายใต้$HOME
ไดเรกทอรี2และมีไฟล์กำหนดค่าของคุณเองที่บ้านคุณสามารถแก้ไขไฟล์ได้อย่างอิสระโดยไม่ต้องเป็นผู้ใช้ขั้นสูง
นอกเหนือจากการติดตั้งซอฟต์แวร์ของตัวเองภายใต้บ้านซอฟต์แวร์ทั้งระบบส่วนใหญ่จะอ่านการกำหนดค่าเฉพาะของผู้ใช้จากขวาหลังจากที่พวกเขาครั้งแรกที่อ่านการกำหนดค่าจาก$HOME
/etc
สิ่งนี้ช่วยให้คุณสามารถปรับแต่งทุกอย่างได้โดยไม่ต้องไปroot
ไหน
ด้วยพีซีที่บ้านในการตั้งค่าผู้ใช้หลักเพียงคนเดียวคุณสามารถใช้sudo
และรูตวิธีการในสิ่งที่คุณชอบ แต่มันเป็นธรรมเนียมที่จะไม่ต้องสัมผัสการกำหนดค่าแอปพลิเคชัน/etc
แต่ให้การตั้งค่าเฉพาะสำหรับผู้ใช้ในบ้านแทน ด้วยวิธีนี้คุณสามารถอนุญาตให้ผู้จัดการแพคเกจของคุณรีเซ็ตการกำหนดค่าทั้งระบบในการอัพเกรด การติดตั้งซอฟต์แวร์ใหม่ทั้งระบบถือว่าใช้ได้ในการตั้งค่าผู้ใช้คนเดียว แพคเกจ distro ไม่ถือว่าทางเลือกดังนั้นจึงเป็นเรื่องง่าย
ฉันจะให้ผู้จัดการแพคเกจติดตั้งของฉันสิ่งที่ทั่วโลก แต่ใด ๆ $HOME
ที่รวบรวมจากแหล่งที่มาและสิ่งที่ตัวเองทำผมออกภายใต้ และฉันไม่จำเป็นต้องทำอะไรแบบนั้น
หากคุณมีไฟล์ข้อมูลที่จัดเก็บข้อมูลภายนอกของคุณ$HOME
รู้สึกอิสระที่จะchown
หรือ
ไดเรกทอรีชื่อของคุณเพื่อให้คุณสามารถเข้าถึงไฟล์ได้โดยไม่ต้องchgrp
sudo
[1] (แดกดันเล็กน้อยขณะที่ Unix ตั้งใจให้เป็นรุ่น 'ผู้ใช้คนเดียว' ของระบบปฏิบัติการ Multics)
[2] (หากระบบอนุญาตให้ทำได้โดยไม่ติดตั้งพาร์ติชั่นโฮมเป็น noexec)
sudo
เพื่อทำอะไรก็ตามที่เกี่ยวข้องกับการเปลี่ยนระบบถ้าคุณเพียงแค่ใช้งานไฟล์ / เดสก์ท็อปของคุณเองคุณไม่ได้ส่งผลกระทบต่อคนอื่นดังนั้นจึงไม่จำเป็นต้องมีสิทธิ์สูง หากคุณกำลังดำเนินการคำสั่งที่ไม่มีสิทธิพิเศษโดยไม่มี sudo คุณอาจเป็นผู้ใช้ขั้นสูง (เช่น root) อยู่แล้วและโดยปกติแล้วจะแนะนำให้เลือกน้อยกว่าการใช้ sudo สำหรับงานเฉพาะของระบบ