ข้อเสียของ umask 077?


15

ข้อเสียสำหรับการมี umask ที่เข้มงวดของ 077 คืออะไร? Distros จำนวนมาก (ฉันเชื่อว่าทั้งหมดยกเว้น Red Hat?) มีค่าเริ่มต้น umask เป็น 022 กำหนดค่าใน / etc / profile ดูเหมือนว่าวิธีนี้จะไม่ปลอดภัยสำหรับระบบที่ไม่ใช่เดสก์ท็อปซึ่งผู้ใช้หลายรายกำลังเข้าถึงและความปลอดภัยเป็นเรื่องที่น่ากังวล

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

มีข้อเสียอะไรอีกบ้าง?


การอนุญาตดูเหมือนจะเป็นมากกว่า 'umask' สำหรับแท็ก ... imo
xenoterracide

คุณสามารถมีแท็กได้สูงสุด 5 รายการดังนั้นทำไมต้องต่อสู้กับมัน :) เพิ่มแท็ก umask
Warren Young

@warren เพราะฉันไม่คิดว่าเราต้องการแท็กสำหรับคำนามที่เหมาะสมทุกคำ เมื่อพูดถึงการอนุญาตในยูนิกซ์คุณต้องรวมเอา umask
xenoterracide

คำตอบ:


15

022 ทำให้ทุกอย่างสะดวก 077 ทำให้สิ่งที่น้อยสะดวก แต่ขึ้นอยู่กับสถานการณ์และการใช้งานรายละเอียด, sudoมันอาจจะไม่สะดวกใดน้อยกว่าที่มีการใช้งาน

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

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

umask ยังเป็นทุบตีในตัวที่เป็นตัวอย่างไฟล์โดยผู้ใช้ในแต่ละไฟล์เริ่มต้นเปลือกของพวกเขา ( ~/.bash*) umaskดังนั้นคุณไม่สามารถที่จะสามารถบังคับใช้จริงๆ เป็นเพียงค่าเริ่มต้น พูดอีกอย่างก็คือคุณไม่ได้ซื้ออะไรมากนัก


2

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

แน่นอนว่าเป็นเรื่องที่ไม่ลืมที่จะตั้งค่า umask ให้ถูกต้องก่อนที่จะทำสิ่งที่ผู้ใช้ทุกคนต้องแบ่งปัน

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

คุณจะมีปัญหากับ umask ที่สืบทอดมาจากเซสชัน sudo ดังนั้นเฉพาะ root เท่านั้นที่สามารถเข้าถึงไฟล์ / dirs ที่คุณสร้าง sudo สามารถกำหนดค่าให้ตั้งค่าโดยอัตโนมัติ umask ในแบบที่คุณต้องการ: คำถามนี้ได้รับการคุ้มครองใน superuser.com


และเหตุผลหลังเป็นเหตุผลที่ดีsu -และทำให้แน่ใจว่ารูตมี umask ที่แตกต่างกัน ... แต่โอ้ ... อูบุนตูไม่เชื่อในรูท ...
xenoterracide

1
@xenoterracide: sudo su -ทำงานได้ดี Ubuntu เช่น MacOSX ไม่เชื่อในรูทที่คุณสามารถล็อคอินได้ โดยส่วนตัวฉันชอบพูดอะไรบางอย่างเช่น "Simon Says" สำหรับคำสั่งรูทเป็นส่วนใหญ่
David Thornley

@xenoterracide ใช่มั้ย ประเด็นของคุณคืออะไร? ทั้ง sudo และ su อนุญาตให้รูทมี umask ต่างกัน @ David คุณสามารถใช้ sudo -i แทน sudo su -
zarkdav

1
@xenoterracide: จริง ๆ แล้วใช้คำสั่งรูทหมายความว่าฉันมีแนวโน้มที่จะพิมพ์บางอย่างลงในหน้าต่างที่ผิด การใช้ "sudo" หมายความว่าฉันต้องระบุว่าฉันต้องการให้ดำเนินการโดยรูท ฉันรู้ดีว่ามีบัญชีรูทดังนั้นฉันจึงไม่เห็นว่าความปลอดภัยที่ผิดพลาดมาจากไหน มันเป็นเพียงพิธีกรรมเล็ก ๆ น้อย ๆ อีกหนึ่ง (เช่นนั่งบนมือของฉัน) ที่ทำให้มีโอกาสน้อยกว่าที่ฉันจะทำสิ่งที่โง่เขลาราวกับราก
David Thornley

1
sudo และ su เป็นเครื่องมือเหมือนคำสั่งใด ๆ ไม่จำเป็นต้องผสมผสานความรู้สึกกับยูทิลิตี้ sudo นำการกำหนดค่าที่ยืดหยุ่นการตรวจสอบและการใช้งานมาสู่ su แน่นอนหนึ่งต้องรู้เกี่ยวกับความเป็นไปได้ต่าง ๆ และต้องการพวกเขาจริง ๆ เพื่อรับรู้ประโยชน์ ฉันคิดว่านโยบาย "การรักษาความปลอดภัยที่ผิดพลาด" ที่คุณกำลังพูดถึงควรมีการกำหนดเป้าหมายที่เหมาะสมมากขึ้นที่นโยบาย "บัญชีผู้ใช้ root ที่ปิดใช้" ของ Ubuntu นั่นคือความแตกต่างระหว่างเครื่องมือและนโยบาย หนึ่งสามารถสร้างข้อโต้แย้งที่ดีกับนโยบาย การปฏิเสธประโยชน์ของเครื่องมือเพราะไม่เห็นด้วยกับนโยบายนั้นผิดปกติ
zarkdav

1

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

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

@ [The guys bashing sudo] เริ่มหัวข้อใหม่สำหรับมันอาจใช้หลายกระทู้ของมันเองและหัวข้อนี้เป็นเรื่องเกี่ยวกับ umask


1

แอปพลิเคชันบุคคลที่สามที่ใช้ระบบการติดตั้งของตัวเองอาจมีข้อสันนิษฐานในตัวเกี่ยวกับ umask ค่าเริ่มต้นของระบบ

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

ปรากฎว่ากระบวนการ updater ของออราเคิลไม่ได้ใส่ใจเป็นพิเศษว่าสิทธิ์ของไลบรารี่ของไคลเอนต์จะอนุญาตให้ผู้ใช้รายอื่นใช้ แต่แทนที่จะอาศัยสมมติฐานที่ว่าไฟล์ที่ถูกเพิ่มโดย updater จะถูกสร้างด้วย umask 022 และสามารถใช้งานได้ โดยค่าเริ่มต้น. หลังจากchmod -R a+rXคำสั่งที่รอบคอบเล็กน้อยสำหรับไดเรกทอรีที่เหมาะสมทุกคนก็ทำได้ดีอีกครั้ง

ได้รับสิ่งนี้สามารถหลีกเลี่ยงได้โดยการรักษาoracleบัญชีเป็นบัญชีระบบพิเศษด้วยมาตรฐาน umask 022 และ จำกัด umask 077 ให้เข้าสู่ระบบบัญชีผู้ใช้ที่สามารถเข้าสู่ระบบได้จริงเท่านั้น ... แต่ฉันคิดว่านี่เป็นตัวอย่างที่ดี "การตัดสินใจอาจมีผลข้างเคียงที่ไม่คาดฝัน

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


0

ฉันมีสายนี้ในของฉัน ~/.zshrc

umask 0077

การตั้งค่าแบบโกลบอลอาจไม่ใช่ความคิดที่ดี แต่การตั้งค่าเป็นค่าเริ่มต้นในไฟล์ rc ของคุณอาจไม่เสียหายหรือแม้แต่การตั้งค่าเป็นค่าเริ่มต้นใน/etc/skel/.rcไฟล์ ทั้งระบบจะทำให้เกิดปัญหาแม้ว่า


0

มันจะทำให้เกิดปัญหาบนเซิร์ฟเวอร์ ตัวอย่างเช่นเมื่อมีหลายแอปพลิเคชันที่ทำงานเป็นผู้ใช้ที่แตกต่างกันพยายามเข้าถึงไฟล์จากผู้ใช้ที่ต่างกัน เช่นเดียวกับไฟล์การอ่าน apache หรือ pi-hole reading dnsmasq.conf /etc/profileเพียงแค่เรียกใช้มันอยู่กับผู้ใช้ว่าจะได้ประโยชน์จากมันเช่นไดเรกทอรีบ้านของแต่ละบุคคลไม่ได้กำหนดอย่างชัดเจนใน

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