Score:0

nftables อ่านตัวนับในฐานะผู้ใช้ที่ไม่ใช่รูท

ธง in

ฉันได้ตั้งค่ากฎไฟร์วอลล์โดยใช้ nftables รวมถึงตัวนับข้อมูลสำหรับการรับส่งข้อมูลบางประเภทที่ฉันสนใจที่จะตรวจสอบ

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

ในฐานะรูท:

ตัวนับรายการ $ nft my_table my_counter
ตาราง ip my_table {
    เคาน์เตอร์ my_counter {
        แพ็คเก็ต 123 ไบต์ 12345
    }
}

ในฐานะที่ไม่ใช่รูท:

ตัวนับรายการ $ nft my_table my_counter
ข้อผิดพลาด: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว
ตัวนับรายการ my_table my_counter
             ^^^^^^^^

มีวิธีอ่านตัวนับ nftables ในฐานะผู้ใช้ที่ไม่ใช่รูทหรือไม่? บางทีถ้าบางคน ความสามารถของลินุกซ์ ตั้ง?

Score:2
ธง in

หากคุณต้องการการกำหนดค่าที่จำกัดมากขึ้น อาจใช้ sudo คุณสามารถตั้งกฎที่อนุญาตเพียงคำสั่งเดียวเท่านั้น

craig_mcqueen ALL = NOPASSWD: /usr/sbin/nft ตัวนับรายการ my_table my_counter

in flag
ขอบคุณ. มันใช้ไม่ได้กับ `libnftnl` แต่อนุญาตการควบคุมสิทธิ์แบบละเอียดมากกว่า `CAP_NET_ADMIN`
Score:0
ธง in

ดูเหมือนว่าความสามารถของลีนุกซ์ CAP_NET_ADMIN เปิดใช้งานการอ่านเคาน์เตอร์

เช่น เริ่มต้นเชลล์สำหรับผู้ใช้ที่ไม่ใช่รูทด้วย CAP_NET_ADMIN:

capsh --caps="cap_net_admin+eip cap_setpcap,cap_setuid,cap_setgid+ep" --keep=1 --user=myuser --addamb=cap_net_admin -- -c "sh"

จากเปลือกนั้น /usr/sbin/ตัวนับรายการ nft my_table my_counter ทำงานได้สำเร็จ

แต่ยังอนุญาตให้ทำสิ่งอื่นๆ เช่น เปลี่ยนกฎไฟร์วอลล์ เพิ่มตัวนับใหม่ หรือลบตัวนับที่มีอยู่

โพสต์คำตอบ

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