Consenti agli utenti di un determinato gruppo di eseguire un comando senza sudo


11

So come modificare / etc / sudoers in modo da poter eseguire un comando come sudo senza dover inserire la mia password, tuttavia esiste un modo per consentire a un programma di essere eseguito completamente senza sudo, da tutti gli utenti di un gruppo. (I programmi che voglio eseguire sono "mount" e "umount").


Qual è il tuo sistema operativo? Stai cercando di montare una partizione NTFS, una partizione EXT o un'unità ottica?
nate

Risposte:


13

Supponiamo di voler aggiungere un gruppo di utenti a cui è consentito eseguire mounte umountsenza password. Quindi prima voglio aggiungere un gruppo chiamato "anyname"

sudo groupadd anyname

Successivamente è necessario modificare /etc/groupe aggiungere gli utenti

anyname:x:407:

sarà presente, quindi aggiungi gli utenti a cui desideri aggiungere gli utenti separati da virgole.

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

Ora dobbiamo configurare sudo per consentire ai membri del gruppo "anyname" di invocare effettivamente i comandi mounte umount.

Devi solo aggiungere le seguenti righe a / etc / sudoers

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

Ora sudo mountnon chiederai la password ma dato che è un dolore nel culo che digita sudo tutto il tempo, possiamo evitarlo dong quanto segue:

Posso creare il seguente script chiamato "/ usr / bin / mount" (e uno script simile per umount)

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

Per renderlo leggermente più sicuro, potremmo voler cambiare la proprietà di questi script nel gruppo "anyname".

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

e quindi renderli eseguibili solo per il gruppo "anyname"

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

MODIFICA : A seconda del sistema operativo in uso, controllare dove si trovano i comandi mount e umount. Potrebbe essere in / bin / invece di /sbin. Quindi potresti dover apportare le modifiche necessarie

IMPORTANTE : BTW non esegue lo script su sistemi basati su Arch in cui tutte le cartelle bin sono collegate l'una all'altra.


1
Grazie. In realtà ho implementato usando un .bashrc globale, che contiene una funzione mount che assomiglia a questa: mount {sudo mount $ *}
w4etwetewtwet,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.