เหตุใดการเมานท์จึงต้องใช้สิทธิ์รูท


54

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

ชี้แจงข้อ จำกัด การเข้าถึง:

ฉันรู้สึกว่าฉันควรจะสามารถเมานต์อะไรก็ได้ที่ผู้ใช้จะเข้าถึงจุดเชื่อมต่อที่ผู้ใช้เป็นเจ้าของ

ยกตัวอย่างเช่นในคอมพิวเตอร์ของฉัน / dev / sda1 brw-rw----เป็นเจ้าของโดยรากของผู้ใช้และกลุ่มดิสก์ที่มีสิทธิ์ ดังนั้นผู้ใช้ที่ไม่ใช่รูทจะไม่สามารถยุ่งกับ / dev / sda1 และการเมาท์ไม่ควรอนุญาตให้เมานต์ อย่างไรก็ตามหากผู้ใช้เป็นเจ้าของ /home/my_user/my_imagefile.img และจุดเชื่อมต่อ / home / my_user / my_image / เหตุใดพวกเขาจึงไม่สามารถเมานท์ไฟล์ภาพนั้นบนจุดเมานต์นั้น:

mount /home/my_user/my_imagefile.img /home/my_user/my_image/ -o loop

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

ใช้กรณี:

ฉันมีบัญชีในห้องปฏิบัติการที่พื้นที่บ้านของฉันถูก จำกัด ไว้ที่ 8GB มันเล็กและน่ารำคาญมาก ฉันต้องการติดตั้งไดรฟ์ข้อมูล nfs จากเซิร์ฟเวอร์ส่วนบุคคลของฉันเพื่อเพิ่มจำนวนห้องที่ฉันมี อย่างไรก็ตามเนื่องจาก Linux ไม่อนุญาตให้สิ่งเหล่านี้ฉันติดอยู่กับไฟล์ scp'ing ไปมาให้อยู่ภายใต้ขีด จำกัด 8GB


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

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

10
คุณเคยลองsshfsไหม มันจะติดตั้งรีโมตไดเร็กทอรีผ่านsshตัวคุณเองโดยไม่จำเป็นต้องเข้าถึงรูท ต้องการเพียงติดตั้ง FUSE (ระบบไฟล์ใน UserSpacE)
Arcege

1
คุณเคยได้ยินเกี่ยวกับปัญหาฮาร์ดไดรฟ์ที่ไม่ดี ฯลฯ ดังนั้นฉันรู้ว่าฉันเคยพูดแบบนี้มาหลายครั้งแล้ว แต่ปรัชญาก็คือ "การติดตั้งสิ่งต่าง ๆ โดยพลการ" ไม่สามารถทำให้ปลอดภัยได้ คือ (ต้องมีข้อยกเว้นเฉพาะ) BTW ถ้าคุณไม่ได้มีฟิวส์sftpเป็นดีกว่าเล็ก ๆ น้อย ๆ scpในการใช้งานมากกว่า
goldilocks

1
ดูเหมือนว่าจะมีการถาม (รูปแบบของ) ที่นี่มาก่อนแล้ว: เมานต์ไฟล์ลูปโดยไม่ได้รับอนุญาตรูท?
Daniel Pryden

คำตอบ:


37

มันเป็นทั้งข้อ จำกัด ทางประวัติศาสตร์และความปลอดภัย

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

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

  • การเมาท์กับตำแหน่งที่ไม่ได้เป็นเจ้าของจะทำให้ไฟล์ต่าง ๆ อยู่ในตำแหน่งนั้น ตัวอย่างเช่น: ติดตั้งระบบไฟล์ที่คุณเลือก/etcพร้อมกับ/etc/shadowมีรหัสผ่านรูทที่คุณรู้ สิ่งนี้ได้รับการแก้ไขโดยการอนุญาตให้ผู้ใช้เมานต์ระบบไฟล์เฉพาะในไดเรกทอรีที่เขาเป็นเจ้าของ
  • โปรแกรมควบคุมระบบแฟ้มมักไม่ได้รับการทดสอบอย่างละเอียดพร้อมกับระบบแฟ้มที่มีรูปแบบไม่ถูกต้อง โปรแกรมควบคุมระบบไฟล์ buggy อาจอนุญาตให้ผู้ใช้ที่จัดหาระบบไฟล์ที่มีรูปแบบไม่ถูกต้องเพื่อฉีดโค้ดลงในเคอร์เนล
  • การติดตั้งระบบไฟล์สามารถอนุญาตให้เมานต์ทำให้บางไฟล์ปรากฏว่าเขาไม่ได้รับอนุญาตให้สร้าง setuid ปฏิบัติการและอุปกรณ์ไฟล์เป็นตัวอย่างที่เห็นได้ชัดที่สุดและพวกเขาได้รับการแก้ไขโดยnosuidและnodevตัวเลือกซึ่งมีนัยโดยมีในuser จนถึงตอนนี้บังคับใช้เมื่อใด/etc/fstab
    usermountไม่ได้เรียกโดยรูทก็เพียงพอแล้ว แต่โดยทั่วไปแล้วความสามารถในการสร้างไฟล์ที่ผู้ใช้รายอื่นเป็นเจ้าของนั้นมีปัญหา: เนื้อหาของไฟล์นั้นมีความเสี่ยงจากการถูกเจ้าของโดยอ้างว่าเป็นผู้อ้างถึง การคัดลอกแอ็ตทริบิวต์ที่รักษาแบบไม่เป็นทางการโดยรูทไปยังระบบไฟล์อื่นจะสร้างไฟล์ที่เป็นเจ้าของโดยเจ้าของประกาศ บางโปรแกรมตรวจสอบว่าการร้องขอให้ใช้ไฟล์นั้นถูกต้องตามกฎหมายโดยการตรวจสอบว่าไฟล์นั้นเป็นของผู้ใช้คนใดคนหนึ่งและจะไม่ปลอดภัยอีกต่อไป (โปรแกรมจะต้องตรวจสอบว่าไดเรกทอรีในเส้นทางการเข้าใช้เป็นเจ้าของ หากอนุญาตให้ทำการติดตั้งโดยพลการพวกเขาจะต้องตรวจสอบว่าไม่มีไดเรกทอรีใด ๆ เหล่านี้เป็นจุดเชื่อมต่อที่จุดยึดถูกสร้างขึ้นไม่ว่าจะเป็นรูทหรือโดยผู้ใช้ที่ต้องการ)

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


24

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

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


8

มันไม่จำเป็นต้องมี privs สุด ๆ เสมอไป จากman mount

   The non-superuser mounts.
          Normally,  only  the  superuser can mount filesystems.  However,
          when fstab contains the user option on a line, anybody can mount
          the corresponding system.

          Thus, given a line

                 /dev/cdrom  /cd  iso9660  ro,user,noauto,unhide

          any  user  can  mount  the iso9660 filesystem found on his CDROM
          using the command

                 mount /dev/cdrom

          or

                 mount /cd

          For more details, see fstab(5).  Only the user  that  mounted  a
          filesystem  can unmount it again.  If any user should be able to
          unmount, then use users instead of user in the fstab line.   The
          owner option is similar to the user option, with the restriction
          that the user must be the owner of the special file. This may be
          useful e.g. for /dev/fd if a login script makes the console user
          owner of this device.  The group option  is  similar,  with  the
          restriction  that  the  user  must be member of the group of the
          special file.

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

3
@CrazyCasta: ผู้ใช้อาจเป็นเจ้าของจุดเชื่อมต่อ แต่โหนดอุปกรณ์ไม่ได้เป็น สิ่งที่เจ้าของ ฯลฯ อยู่บนข้อมูลในพาร์ติชั่นคือ a) ไม่สามารถรู้ได้ข) ไม่เกี่ยวข้อง
goldilocks

แต่จะเกิดอะไรขึ้นถ้าผู้ใช้เป็นเจ้าของโหนดอุปกรณ์
CrazyCasta

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

เพื่อความชัดเจนการmount()เรียกของระบบจำเป็นต้องใช้รูทเสมอ ยูทิลิตี้ suid สามารถกลายเป็นรูทและอนุญาตให้ผู้ใช้ที่ไม่ใช่รูทสามารถเมาท์ได้และหากmountติดตั้งคำสั่ง suid แล้วมันจะทำสิ่งนี้ตามแฟล็กผู้ใช้ใน fstab suid ที่รันได้อื่นถูกเขียนขึ้นเพื่ออนุญาตให้ผู้ใช้เมานต์เช่นpmountซึ่งอนุญาตให้ผู้ใช้เมาท์สื่อภายนอกและบังคับใช้ข้อ จำกัด ที่เหมาะสมเช่น nosuid, nodev
psusi

5

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

Gilles จัดการปัญหาด้านความปลอดภัยบางอย่างที่เกี่ยวข้องกับการติดตั้งระบบไฟล์ ฉันจะหลีกเลี่ยงการสนทนาย้อนหลังเกี่ยวกับปัญหาทางเทคนิคที่อาจเกิดขึ้นเกี่ยวกับเรื่องนี้ (ดูความคิดเห็น) ย้อนหลัง แต่ฉันคิดว่ามันยุติธรรมที่ผู้ใช้ที่ไม่น่าไว้วางใจไม่มีสิทธิ์ที่ไม่เปลี่ยนรูปในการติดตั้งฮาร์ดไดรฟ์

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

  1. ฉันพยายามทำอะไรกันแน่?

  2. ฉันพยายามจะทำที่ไหน

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

ระบบอนุญาตให้ผู้ใช้ขั้นสูงสามารถ จำกัด กิจกรรมของคุณไม่ว่าจะโดยชัดแจ้งหรือโดยละเว้น ("เราไม่ได้ให้ FUSE" ฯลฯ ) สิทธิพิเศษเป็นกลไกหนึ่งในการทำสิ่งนี้ให้สำเร็จ มันอาจจะไม่ดีที่จะบอกว่า "คุณไม่จำเป็นต้องทำเช่นนี้" แต่ถ้าเป็นจริง ... que sera ... คุณไม่จำเป็นต้องทำเช่นนี้ ใช้ ftp ฯลฯ หากไม่เป็นจริงคุณควรรบกวนผู้ที่รับผิดชอบ


คำตอบของคุณทำให้สับสนไม่ใช่โวลุ่มเอง (เช่น / dev / sda1, / dev / sda2 ฯลฯ ) ได้รับการปกป้องจากผู้ใช้ที่อ่าน / เขียนพวกเขาหรือไม่? ฉันสงสัยว่าเพราะเหตุใดผู้ใช้จึงไม่สามารถเชื่อมต่อบางอย่างที่พวกเขาสามารถเข้าถึงได้ ในการชี้แจงหากฉันมีไฟล์รูปภาพที่บอกว่า ext2 ฉันสามารถเขียนแอปพลิเคชันที่อนุญาตให้ฉันอ่าน / เขียนจาก / ไปยังภาพดังกล่าว (ไม่ใช่ส่วนหนึ่งของระบบไฟล์ของระบบปฏิบัติการ) แอปพลิเคชันที่กล่าวมาจะไม่สามารถอ่าน / เขียนจากพาร์ติชันใน / dev (เว้นแต่ว่าพาร์ติชันเหล่านั้นถูกเปลี่ยนเพื่ออนุญาตให้ผู้ใช้เข้าถึงพวกเขาซึ่งมักจะไม่สมเหตุสมผล)
CrazyCasta

PS ฉันไม่เห็นด้วยที่ผู้ใช้ควรจะสามารถติดตั้งระบบไฟล์ที่พวกเขาไม่สามารถเข้าถึงได้โดยไม่ได้รับอนุญาตเฉพาะเพราะการติดตั้งมันอาจทำให้เกิดการกระทำบางอย่าง (เช่นการตรวจสอบระบบไฟล์) ที่รากไม่ต้องการ
CrazyCasta

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

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

1
@goldilocks: เหตุผลที่คำตอบนี้คือ bollocks เป็นเพราะทฤษฎีของคุณอยู่เบื้องหลังข้อ จำกัด ที่น่าเชื่อมาก แต่มันผิดทั้งหมดปัญหาที่คุณอ้างถึงไม่มีอยู่จริง การอนุญาตให้สร้างระบบไฟล์เสมือน (เช่น FUSE) ไม่อนุญาตให้คุณทำสิ่งที่ไม่สามารถทำได้ในแบบวงเวียนโดยใช้ IPC บันทึกย่อของคุณเกี่ยวกับการขัดจังหวะบนอุปกรณ์นั้นไม่เกี่ยวข้องทั้งหมด การขัดจังหวะที่สำคัญเพียงอย่างเดียวที่เกิดขึ้นกับระบบไฟล์ระยะไกลมาจากการ์ดเครือข่ายซึ่งได้รับการจัดการโดยเคอร์เนล
Lie Ryan

5

FYI: เมล็ดใหม่ล่าสุดมีการรองรับ "namespace" ผู้ใช้ทั่วไปสามารถสร้างเนมสเปซและภายในเนมสเปซนั้นจะกลายเป็น root และทำสิ่งสนุก ๆ เช่นเมานต์ระบบไฟล์

มันไม่ได้ให้สิทธิ์ผู้ใช้ขั้นสูง "ของจริง" แต่คุณสามารถทำสิ่งที่คุณได้รับอนุญาตให้ทำเท่านั้น (เช่นคุณสามารถเมานท์อุปกรณ์ที่คุณสามารถอ่านได้เท่านั้น)

http://lwn.net/Articles/531114/ ดูหัวข้อที่ 4


เนมสเปซมี จำกัด มากกว่านั้น คุณสามารถปรากฏrootภายในเนมสเปซผู้ใช้ แต่จะไม่อนุญาตให้คุณเมานต์ระบบไฟล์ประเภทปกติแม้ว่าคุณจะสามารถอ่านและเขียนอุปกรณ์บล็อกได้ ดูการทดสอบ 2 ที่นี่: unix.stackexchange.com/questions/517317/…
sourcejedi

0

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


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

อาร์กิวเมนต์ของคุณถูกต้องหากคุณเป็นผู้ใช้คนเดียว โปรดจำไว้ว่า Linux (และ Unix) เป็นระบบที่มีผู้ใช้หลายคนซึ่งผู้ใช้ไม่จำเป็นต้องเชื่อถือได้
sendmoreinfo

ไบนารี SUID อาจจะเพิ่มอุปกรณ์ที่ติดตั้งอยู่บนกล่องของคุณและใช้ในการขุดรากถอนโคนกล่องซึ่งเป็นเหตุผลที่เป็นค่าเริ่มต้นownerและการตั้งค่าuser(s) nosuidคุณจะไม่ต้องการให้ใครบางคนสามารถข้ามได้โดยง่ายด้วยการอนุญาตให้พวกเขาลบด้วยตนเองnosuid
อาร์เอส

@sendmoreinfo ฉันทราบดีว่า Linux เป็นระบบที่มีผู้ใช้หลายคนไม่จำเป็นต้องมีผู้อุปถัมภ์ ฉันสงสัยว่าทำไมฉันจึงถูก จำกัด ไม่ให้ติดตั้งแชร์เครือข่ายและไฟล์รูปภาพที่ฉันเข้าถึงได้เป็นอย่างมาก คำตอบของ kormoc กำลังส่องสว่าง แต่ฉันสงสัยว่าทำไมบางธงไม่สามารถบังคับผู้ใช้ที่ไม่ใช่รูท (เช่น nosuid) เพื่อแก้ไขปัญหานี้ ดูเหมือนว่าฉันควรจะสามารถเมานท์เพื่อจุดประสงค์ในการอ่าน / เขียนไฟล์รูปภาพ / เครือข่ายที่เรียบง่ายซึ่งฉันสามารถเข้าถึงไปยังจุดเมานท์ที่ฉันเป็นเจ้าของได้
CrazyCasta

1
@CrazyCasta WRT "ทำให้ระบบล่ม" เป็นไปได้ที่จะติดตั้งฮาร์ดแวร์ที่บกพร่องซึ่งหาช่องโหว่ในส่วนต่อประสานฮาร์ดแวร์ ใครก็ตามที่มีฮาร์ดไดรฟ์ที่มีบล็อกที่ไม่ดีพอสามารถบอกคุณได้ว่ามันจะส่งผลกระทบต่อเคอร์เนลอย่างไร (และด้วยเหตุนี้ทั้งระบบ) - มันจะเข้าสู่วงยุ่งและมีอัมพาตทั้งชุดและ kaboodle มีเหตุผลบางอย่างที่รากของสิ่งที่ทำให้มันเป็นไปไม่ได้ที่จะแก้เพราะมันเป็นปัญหาที่รู้จักกันดีซึ่งมีอยู่เป็นเวลานานโดยไม่มีวิธีแก้ปัญหา
goldilocks

0

ใน GNOME gvfs ไม่จำเป็นต้องรูทสำหรับการติดตั้งระบบไฟล์ระยะไกล (ftp หรือ ssh) และ gnome-mount ก็ไม่จำเป็นต้องรูทสำหรับการติดตั้งที่เก็บข้อมูลภายนอก (ไดรฟ์ usb, CD / DVD ฯลฯ )

ระบบส่วนใหญ่อาจไม่ต้องการที่จะมี GNOME ทั้งหมดสำหรับการติดตั้งทางไกลจากนั้นคุณสามารถใช้lufs , sshfsหรือftpfsได้

gvfs, lufs, sshfs และ ftpfs ใช้ FUSE เพื่ออนุญาตให้ผู้ใช้ที่ไม่ใช่รูทติดตั้งระบบไฟล์เสมือน และไม่เหมือนเมานต์ของ-o userFUSE ไม่ต้องการดูแลระบบเพื่อจัดการเมาท์ที่เฉพาะเจาะจง ตราบใดที่คุณมีสิทธิ์สำหรับไดเรกทอรีเมานท์และทรัพยากรใด ๆ ที่จำเป็นสำหรับการสร้างระบบไฟล์คุณสามารถสร้างการเมานต์ FUSE ได้

เหตุใดการเมานท์จึงต้องใช้สิทธิ์รูท

เพราะmountมีวัตถุประสงค์หลัก / เดิมสำหรับระบบไฟล์ในท้องถิ่นซึ่งเกือบจะเกี่ยวข้องกับฮาร์ดแวร์

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