ทำไมสิทธิ์เริ่มต้นสำหรับ / media / ชื่อผู้ใช้รูท: รูท?


20

ฉันได้ปรับแต่งการอนุญาต/media/usernameตั้งแต่root:rootถึงusername:root[1] ฉันเข้าใจว่าตำแหน่งที่ผู้ใช้เป็นศูนย์กลางอนุญาตการอนุญาตจากผู้ใช้เป็นศูนย์กลาง [2]

แต่ทำไมสิทธิ์สำหรับโฟลเดอร์นี้root:rootตั้งแต่แรก?


[1] เพื่อให้ฉันสามารถเมานท์โฟลเดอร์ที่เข้ารหัสด้วย Gnome EncFS Manager /media/username/personal-documentsยกตัวอย่างเช่นตอนนี้ผมสามารถติดโฟลเดอร์ที่เข้ารหัสลับเป็น

[2] ทำไมอูบุนตูจึงย้ายจุดยึดเริ่มต้น :

สาเหตุหลักสำหรับการเปลี่ยนแปลงพฤติกรรมเริ่มต้นใน udisks2 นี้ดูเหมือนชัดเจน: ความปลอดภัย เป็นการปลอดภัยกว่าที่จะ จำกัด การเข้าถึงระบบไฟล์ให้กับผู้ใช้รายใดรายหนึ่งแทนที่จะให้สิทธิ์การเข้าถึงแก่ผู้ใช้ทุกคนในระบบ


การติดตั้งมักจะเกี่ยวข้องกับการเข้าถึงรูท คุณสามารถปรับแต่งการอนุญาต (ตามที่คุณทำ) อย่างไรก็ตามสิ่งนี้สามารถไม่กลายเป็นพฤติกรรม "เริ่มต้น" ใน Linux ลองนึกภาพสิ่งที่จะเกิดขึ้นหากผู้ใช้ (ไม่ใช่ผู้ดูแลระบบ) มีความสามารถในการเมานต์แบบที่คุณทำ นี่จะเป็นความโกลาหลทั้งหมด :)
rbaleksandar

คำตอบ:


20

ในกรณีของฉันนี่คือสิ่งที่มีลักษณะ/media:

$ ls -l /media | grep $USER
drwxr-x---+  3 root root 4096 Jan 22 15:59 oli

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

คุณอาจสังเกตเห็นเครื่องหมายบวกที่ท้ายหน้ากากอนุญาต นี่หมายความว่ามีการใช้งาน ACL (Access Control List) การทำเช่นนี้ช่วยให้ได้รับอนุญาตอย่างละเอียดยิ่งขึ้น

$ getfacl /media/$USER
getfacl: Removing leading '/' from absolute path names
# file: media/oli
# owner: root
# group: root
user::rwx
user:oli:r-x
group::---
mask::r-x
other::---

มันผ่าน ACL ที่ผู้ใช้ของฉันได้รับอนุญาตให้ดู/media/oliเนื้อหาของ ฉันยังไม่ได้รับอนุญาตให้แก้ไขเนื้อหา

สิ่งที่ติดตั้งในเดสก์ท็อปสมัยใหม่ (ทั้ง Gnome และ KDE) คือudisks2:

root      2882  0.3  0.0 195956  4048 ?        Sl   Jan16  30:35 /usr/lib/udisks/udisks-daemon
root      2887  0.0  0.0  47844   784 ?        S    Jan16   0:00 udisks-daemon: not polling any devices
root      3386  0.0  0.0 429148  6980 ?        Sl   Jan16   7:35 /usr/lib/udisks2/udisksd --no-debug

อย่างที่คุณเห็นมันทำงานอยู่ที่นั่นในฐานะรูทดังนั้นเมื่อมีบางสิ่งเข้าใช้งานผ่าน DBUS ก็สามารถสร้างจุดเมานท์ภายใน / home / $ USER และทำให้ผู้ใช้ของคุณสามารถแก้ไขเนื้อหาได้

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

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

แก้ไข : สิ่งที่เพิ่งเกิดขึ้นกับฉันก็คือมันช่วยให้ผู้ดูแลระบบสามารถวางสิ่งต่าง ๆ สำหรับผู้ใช้คนเดียวได้ การอนุญาตตามค่าเริ่มต้นจะช่วยให้การเมาท์นี้เป็นแบบส่วนตัวและป้องกันการเมานต์นี้จากการเข้าไปแทรกแซงของผู้ใช้ ดูเหมือนจะเป็นค่าเริ่มต้นที่ค่อนข้างมีเหตุผลสำหรับสิ่งที่ทำโดยไม่มี/media/$user/ไดเรกทอรีจะต้องได้รับอนุญาตจากรูท


2

ฉันเห็นด้วยกับคำตอบและความคิดเห็นเพิ่มเติมนอกเหนือจากนั้น

root:rootเพื่อหลีกเลี่ยงส่วนใหญ่สองสถานการณ์
1. ความเสี่ยงด้านความปลอดภัย: สคริปต์แฮ็กเกอร์ซึ่งถ่ายโอนข้อมูล / dev / ศูนย์เป็น / สื่อ / ผู้ใช้ / ซึ่งเติมพาร์ติชันรูทและทำให้ไม่สามารถเข้าสู่ระบบหรือประสิทธิภาพที่ไม่ดี
2. ความขัดแย้งกับ udisk2: สมมติพาร์ทิชันที่มีป้ายชื่อสำรอง ติดตั้งมัน @ / สื่อ / ผู้ใช้ / สำรอง ผู้ใช้สร้างไดเรกทอรีข้างต้นด้วยตนเองซึ่งจะบังคับให้ udisk เปลี่ยนจุดเชื่อมต่อเป็นสิ่งที่ต้องการ / media / user / backup1 และทำให้เข้าใจผิดโดยสคริปต์สำรองเป็นต้น


2

ความคิดของ Linux (และ * ระวัง) โดยทั่วไปจะขึ้นอยู่กับหลักการของ Least amount of necessary privileges.

โดยปกติที่ทันสมัยจะติดตั้งอุปกรณ์ของคุณภายใต้Desktop Environments /media/username/devicepartitionnameซึ่งหมายความว่าสำหรับอุปกรณ์ที่จะใช้งานได้คุณจะต้องเป็นเจ้าของdevicepartitionnameโฟลเดอร์และสิ่งที่อยู่ด้านล่าง ซึ่งหมายความว่าโฟลเดอร์ของ/media/usernameคุณยังสามารถเป็นเจ้าของได้rootและนั่นจะทำให้ปลอดภัยยิ่งขึ้น

นอกจากนี้การติดตั้งทุกอย่าง/media/usernameเป็นความคิดที่ไม่ดีเนื่องจากจะทำให้คุณDEพยายามติดตั้งพาร์ติชันลงในโฟลเดอร์บนพาร์ติชั่นที่ติดตั้งอื่นซึ่งอาจนำไปสู่ความสนุกมากมาย !! (การสูญเสียข้อมูลที่เป็นไปได้เช่นกัน)


ขอบคุณสำหรับคำตอบที่เรียบง่าย แต่ไม่ง่าย ... ฉันชี้แจงไว้ข้างต้นแล้วว่า GnomeEncFS กำลังติดตั้งที่/media/username/someplaceไม่ใช่/media/username... คุณพูดโดยเฉพาะว่าควรเป็นเจ้าของโดย root จะroot:usernameดีกว่าusername:rootในกรณีของฉันหรือไม่ หรือพวกเขาทั้งสองนำข้อกังวลด้านความปลอดภัยเดียวกันหรือไม่ (ดูคำถามนี้ว่าทำไมฉันต้องทำมันต่อไปถาม askubuntu.com/questions/392063/ … )
david.libremone

@ d3vid: ขึ้นอยู่กับในกรณีที่สองหากคุณไม่ได้เปลี่ยนการอนุญาตเริ่มต้นผู้ใช้ปกติของคุณจะไม่สามารถเขียน/media/user(เนื่องจากเป็น 750) ซึ่งค่อนข้างดีกว่าเคสแรกเล็กน้อย สำหรับการติดตั้ง: ในอดีต/mntและโฟลเดอร์ย่อยนั้นถือว่าเป็นจุดเริ่มต้นสำหรับสิ่งใดสิ่งหนึ่ง/mediaถูกเพิ่มเข้ามาเท่านั้นเพื่อให้ผู้ที่ต้องการใช้กล่องลินุกซ์โดยไม่เข้าใจว่าสิ่งต่าง ๆ ทำงานอย่างไรจะไม่สับสน โฟลเดอร์แปลก ๆ และอะไร/ก็ตาม
Wolfer

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

1
@Wolfer - ฉันได้ย้อนกลับไปเป็นเวอร์ชันของคำตอบของคุณมากกว่าที่ไม่มีภาษาที่ถือว่าไม่เหมาะสม ให้พยายามทำให้ Q & A นั้นสะอาดที่สุดเท่าที่จะเป็นไปได้และพยายามอย่าทำให้เกิดความผิด ขอบคุณ
fossfreedom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.