chown - ไม่อนุญาตให้ใช้งาน


37

ฉันเข้าสู่ระบบในฐานะ minime

ฉันไม่เข้าใจว่าทำไมมันไม่อนุญาตให้ฉัน chown ไฟล์ที่ฉันเป็นเจ้าของโดยไม่มีสิทธิ์ su เห็นได้ชัดว่าฉันสามารถใช้ sudo แต่ฉันต้องการที่จะเข้าใจว่าทำไม? เพราะกลุ่มข้อมูล www?

chown minime:www-data user-functions.php

ls -lh

-rw-r--r--  1 minime minime    24K Jan  6 16:11 user-functions.php

Error:

chown: changing ownership of `user-functions.php': Operation not permitted

คำตอบ:


51

ผู้ใช้ที่ไม่มีสิทธิใช้งาน (ไม่ใช่รูท) ไม่สามารถchownไฟล์ไปยังชื่อผู้ใช้อื่น หากต้องการใช้chownผู้ใช้จะต้องมีสิทธิ์ของผู้ใช้เป้าหมาย กล่าวอีกนัยหนึ่งrootสามารถให้ไฟล์กับผู้ใช้รายอื่นเท่านั้น

ตามที่อธิบายไว้ที่นี่ (ขอบคุณ @slhck):

กระบวนการที่มี ID ผู้ใช้ที่มีประสิทธิภาพเท่ากับ ID ผู้ใช้ของไฟล์หรือด้วยสิทธิ์ที่เหมาะสมอาจเปลี่ยนความเป็นเจ้าของไฟล์ได้ หาก _POSIX_CHOWN_RESTRICTED มีผลกับพา ธ :

  • การเปลี่ยน ID ผู้ใช้นั้น จำกัด เฉพาะกระบวนการที่มีสิทธิ์ที่เหมาะสม

  • การเปลี่ยน ID กลุ่มได้รับอนุญาตให้ดำเนินการด้วย ID ผู้ใช้ที่มีประสิทธิภาพเท่ากับ ID ผู้ใช้ของไฟล์ แต่ไม่มีสิทธิ์ที่เหมาะสมหากเจ้าของเท่ากับ ID ผู้ใช้ของไฟล์หรือ (uid_t) -1 และกลุ่มเท่ากับ ไม่ว่าจะเป็น ID กลุ่มที่มีประสิทธิภาพของกระบวนการโทรหรือรหัสกลุ่มเสริมอย่างใดอย่างหนึ่ง

เหตุผลที่อยู่เบื้องหลังนี้ได้รับการอธิบายอย่างชัดเจนโดย@Gillesในนี้ Unix และ Linux คำตอบ:

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

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


ขอบคุณ @slhck ฉันตรวจสอบmanหน้าและไม่สามารถพูดถึงเรื่องนี้ได้อย่างชัดเจนตอบรับการอัปเดต
terdon

ที่ดี! ชัดเจนแล้ว ... จะเกิดอะไรขึ้นถ้า minime เป็นส่วนหนึ่งของกลุ่ม www-data

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