Izinkan pengguna grup tertentu untuk menjalankan perintah tanpa sudo


11

Saya tahu cara mengedit / etc / sudoers sehingga saya dapat menjalankan perintah sebagai sudo tanpa harus memasukkan kata sandi saya, namun adakah cara untuk memungkinkan suatu program dijalankan sepenuhnya tanpa sudo, oleh semua pengguna grup. (Program yang ingin saya jalankan adalah "mount" dan "umount").


Apa OS kamu? Apakah Anda mencoba memasang partisi NTFS, partisi EXT, atau drive optik?
nate

Jawaban:


13

Misalkan saya ingin menambahkan sekelompok pengguna yang diizinkan untuk menjalankan mountdan umounttanpa kata sandi. Jadi saya pertama-tama ingin menambahkan grup bernama "anyname"

sudo groupadd anyname

Selanjutnya kita perlu mengedit /etc/groupdan menambahkan pengguna

anyname:x:407:

akan hadir, karenanya tambahkan pengguna yang ingin Anda tambahkan pengguna yang dipisahkan oleh koma.

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

Sekarang kita perlu mengkonfigurasi sudo untuk memungkinkan anggota grup "anyname" untuk benar-benar menjalankan mountdan umountmemerintahkan.

Anda hanya perlu menambahkan baris berikut ke / etc / sudoers

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

Sekarang sudo mounttidak akan bertanya kata sandi tetapi karena itu menyakitkan di pantat mengetik sudo sepanjang waktu, kita bisa menghindarinya dengan dong berikut ini:

Saya dapat membuat skrip berikut bernama "/ usr / bin / mount" (dan skrip serupa untuk umount)

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

Untuk membuat ini sedikit lebih aman, Kami mungkin ingin mengubah kepemilikan skrip-skrip ini menjadi grup "anyname".

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

dan kemudian membuatnya hanya dapat dieksekusi untuk grup "anyname"

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

EDIT : Tergantung pada OS yang Anda gunakan, periksa di mana perintah mount dan umount berada. Mungkin ada di / bin / bukan /bin. Jadi Anda mungkin harus melakukan perubahan yang diperlukan

PENTING : BTW tidak menjalankan skrip pada sistem berbasiskan Arch di mana semua folder bin saling terkait satu sama lain.


1
Terima kasih. Saya sebenarnya telah menerapkan menggunakan .bashrc global, yang berisi fungsi mount yang terlihat seperti ini: mount {sudo mount $ *}
w4etwetewtwet
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.