อนุญาตให้ผู้ใช้ของกลุ่มใดกลุ่มหนึ่งเรียกใช้คำสั่งโดยไม่มี sudo


11

ฉันรู้วิธีแก้ไข / etc / sudoers เพื่อให้ฉันสามารถเรียกใช้คำสั่งเป็น sudo ได้โดยไม่ต้องป้อนรหัสผ่านของฉันอย่างไรก็ตามมีวิธีอนุญาตให้โปรแกรมทำงานได้อย่างสมบูรณ์โดยไม่ต้องใช้ sudo โดยผู้ใช้ทุกคนในกลุ่ม (โปรแกรมที่ฉันต้องการเรียกใช้คือ "mount" และ "umount")


ระบบปฏิบัติการของคุณคืออะไร? คุณกำลังพยายามเมาต์พาร์ติชัน NTFS พาร์ติชัน EXT หรือออปติคัลไดรฟ์
เนท

คำตอบ:


13

สมมติว่าฉันต้องการเพิ่มกลุ่มผู้ใช้ที่ได้รับอนุญาตให้ทำงานmountและumountไม่มีรหัสผ่าน ดังนั้นฉันต้องการเพิ่มกลุ่มชื่อ "anyname" ก่อน

sudo groupadd anyname

ต่อไปเราต้องแก้ไข/etc/groupและเพิ่มผู้ใช้

anyname:x:407:

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

anyname:x:407:user1,user2,...

ตอนนี้เราจำเป็นต้องกำหนดค่า sudo เพื่อให้สมาชิกของกลุ่ม "anyname" สามารถเรียกใช้ คำสั่งmountและumount

คุณเพียงแค่เพิ่มบรรทัดต่อไปนี้ใน / etc / sudoers

%anyname ALL=NOPASSWD: /sbin/mount, /sbin/umount

ตอนนี้sudo mountจะไม่ถามรหัสผ่าน แต่เนื่องจากมันเป็นความเจ็บปวดในการพิมพ์ sudo ตลอดเวลาเราสามารถหลีกเลี่ยงได้โดยทำตามขั้นตอนต่อไปนี้:

ฉันสามารถสร้างสคริปต์ต่อไปนี้ชื่อ "/ usr / bin / mount" (และสคริปต์ที่คล้ายกันสำหรับ umount)

#! /bin/sh
sudo /sbin/mount $*

เพื่อให้ความปลอดภัยเพิ่มขึ้นเล็กน้อยเราอาจต้องการเปลี่ยนความเป็นเจ้าของของสคริปต์เหล่านี้เป็นกลุ่ม "anyname"

chgrp anyname /usr/bin/mount /usr/bin/umount

จากนั้นกำหนดให้สามารถเรียกทำงานได้สำหรับกลุ่ม "anyname" เท่านั้น

chmod g+x /usr/bin/mount  /usr/bin/umount

แก้ไข : ขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้โปรดตรวจสอบว่าคำสั่ง mount และ umount อยู่ที่ไหน มันอาจจะอยู่ใน / bin / แทน /sbin ดังนั้นคุณอาจต้องทำการเปลี่ยนแปลงที่จำเป็น

สำคัญ : BTW จะไม่เรียกใช้สคริปต์บนระบบที่ใช้ Arch ซึ่งโฟลเดอร์ bin ทั้งหมดมีการเชื่อมโยงซึ่งกันและกัน


1
ขอบคุณ จริง ๆ แล้วฉันได้ติดตั้งโดยใช้. bashrc ทั่วโลกที่มีฟังก์ชั่นเมาท์ที่มีลักษณะดังนี้: เมา {sudo mount $ *}
w4etwetewtwet
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.