Linux Group Permissions ไม่ถูกบังคับใช้อย่างถูกต้อง


18

ฉันใช้เซิร์ฟเวอร์ Ubuntu 10.04 และกำลังมีประสบการณ์ต่อต้านผู้ใช้ / กลุ่ม ตัวอย่างเช่น:

sudo touch test_file                    # create empty file

sudo groupadd test                      # create 'test' group

sudo chown root:test test_file          # change group of file to 'test'

sudo chmod g+rwx test_file              # give write permissions to group

sudo usermod -a -G test {my-user}       # add my user to 'test' group

touch test_file                         # touch the file as my current user

บรรทัดสุดท้ายสร้างข้อผิดพลาดการอนุญาต

ฉันมั่นใจว่าผู้ใช้ของฉันเป็นส่วนหนึ่งของกลุ่ม 'ทดสอบ' ( groups {my-user}ยืนยันสิ่งนี้) กลุ่มของ test_file นั้นถูกตั้งค่าเป็น 'test' และการตั้งค่าการอนุญาตกลุ่ม

เหตุใดผู้ใช้ของฉันจึงเขียนไฟล์ทดสอบไฟล์ไม่ได้

คำตอบ:


29

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


4
หรือแฮ็คsu - usernameลงในคอนโซลการทำงานของคุณ คุณไม่ต้องออกจากระบบเข้าสู่ระบบด้วยวิธีนี้ :)
แมทเธียครัลล์

5

ทั้งการออกจากระบบและการรีบูตเซิร์ฟเวอร์เมธอดไม่ได้ผลสำหรับฉัน

อย่างไรก็ตามวิธีนี้ใช้งานได้สำหรับฉัน: (อ้างอิงถึงคำตอบนี้)

chmod g+rwxs <parent folder>

1
สิ่งที่ไม่+sเป็นส่วนหนึ่งทำอย่างไร ขอบคุณ
tommy.carstensen

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

กุญแจสำคัญคือx: ดูเหมือนว่าสิทธิ์การดำเนินการจำเป็นสำหรับtouchการทำงาน
asac - Reinstate Monica

0

คุณสามารถใช้newgrpคำสั่งเพื่อเปลี่ยน ID กลุ่มปัจจุบันของผู้ใช้ จากman newgrp:

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


1
สิ่งนี้มีผลในการแทนที่กลุ่มปัจจุบันของคุณ ไม่ใช่ความคิดที่ดีเสมอไป
Daenyth

ฉันจะลงคะแนนถ้าฉันทำได้ กลุ่มการเขียนทับอาจน่าผิดหวังมากในอนาคต ... ด้วย-Rตัวเลือก!
Edward

0

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

ขั้นตอนเหล่านี้ควรให้testสิทธิ์การเขียนแก่ผู้ใช้กลุ่มของคุณtest_file

sudo touch test_file 
sudo groupadd test
sudo chown root:test test_file
sudo chmod g+rwx test_file
sudo usermod -a -G test {my-user}

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

touch test_file

ผู้ใช้สามารถเขียนไปยังไฟล์ได้เนื่องจากเป็นส่วนหนึ่งของกลุ่ม 'test' และกลุ่มมีสิทธิ์ rwx


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