Zezwalaj użytkownikom określonej grupy na uruchamianie poleceń bez sudo

11

Wiem, jak edytować plik / etc / sudoers, dzięki czemu mogę uruchomić polecenie jako sudo bez konieczności wprowadzania hasła, jednak istnieje sposób na to, aby wszyscy użytkownicy grupy mogli uruchomić program całkowicie bez sudo. (Programy, które chcę uruchomić, to „mount” i „umount”).

w4etwetewtwet
źródło
Jaki jest twój system operacyjny? Czy próbujesz zamontować partycję NTFS, partycję EXT lub napęd optyczny?
data

Odpowiedzi:

13

Załóżmy, że chcę, aby dodać grupę użytkowników, którzy mają prawo do pracy mounti umountbez haseł. Najpierw chcę dodać grupę o nazwie „anyname”

sudo groupadd anyname

Następnie musimy edytować /etc/groupi dodawać użytkowników

anyname:x:407:

będą obecne, dlatego dołącz użytkowników, których chcesz dodać, oddzielając je przecinkami.

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

Teraz musimy skonfigurować sudo, aby członkowie grupy „anyname” mogli faktycznie wywoływać polecenia mounti umount.

Musisz tylko dodać następujące linie do / etc / sudoers

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

Teraz sudo mountnie pytam o hasło, ale ponieważ jest to ciągły problem w wpisywaniu sudo w tyłek, możemy go uniknąć, wykonując następujące czynności:

Mogę utworzyć następujący skrypt o nazwie „/ usr / bin / mount” (i podobny skrypt dla umount)

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

Aby uczynić to nieco bezpieczniejszym, możemy chcieć zmienić własność tych skryptów na grupę „anyname”.

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

a następnie uczynić je wykonywalnymi tylko dla grupy „anyname”

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

EDYCJA : W zależności od używanego systemu operacyjnego sprawdź, gdzie znajdują się polecenia mount i umount. Może być w / bin / zamiast /sbin, więc może być konieczne wprowadzenie niezbędnych zmian

WAŻNE : BTW nie uruchamiaj skryptu w systemach opartych na Arch, w których wszystkie foldery bin są ze sobą połączone symbolicznie.

Stormvirux
źródło
1
Dzięki. Zaimplementowałem za pomocą globalnego .bashrc, który zawiera funkcję mount, która wygląda następująco: mount {sudo mount $ *}
w4etwetewtwet