Дозволити користувачам певної групи виконувати команду без sudo


11

Я знаю, як редагувати / etc / sudoers, щоб я міг запускати команду як sudo, не вводячи свій пароль, однак чи є спосіб дозволяти програмі повністю запускатись без sudo, усіма користувачами групи. (Програми, які я хочу запустити, це "mount" і "umount").


Яка ваша ОС? Ви намагаєтесь встановити розділ NTFS, розділ EXT або оптичний привід?
нат

Відповіді:


13

Припустимо, я хотів додати групу користувачів, яким дозволено запускати mountта umountбез паролів. Тому я спершу хочу додати групу під назвою "будь-яке ім'я"

sudo groupadd anyname

Далі нам потрібно відредагувати /etc/groupта додати користувачів

anyname:x:407:

буде присутній, отже додайте користувачів, які ви хочете додати користувачів, відокремлених комами.

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

Тепер нам потрібно налаштувати sudo, щоб дозволити членам групи "будь-яке ім'я" фактично викликати команди mountта umountкоманди.

Вам просто потрібно додати наступні рядки до / etc / sudoers

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

Зараз sudo mountне будемо запитувати пароль, але оскільки це болі в стилі суда, що постійно друкують, ми можемо уникнути цього, зробивши наступне:

Я можу створити такий сценарій під назвою "/ usr / bin / mount" (і подібний сценарій для umount)

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

Щоб зробити це трохи більш безпечним, ми, можливо, захочемо змінити право власності на ці сценарії на групу "будь-яке ім'я".

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

а потім зробити їх виконуваним лише для групи "будь-яке ім'я"

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

EDIT : Залежно від ОС, яку ви використовуєте, будь ласка, перевірте, де розташовані команди mount та umount. Це може бути в / bin / замість /sbin.Так що, можливо, доведеться внести необхідні зміни

ВАЖЛИВО : BTW не запускає скрипт у системах на базі Arch, де всі папки бін знаходяться між собою.


1
Дякую. Я фактично реалізував за допомогою глобального .bashrc, який містить кріплення функції, яке виглядає приблизно так: mount {sudo mount $ *}
w4etwetewtwet
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.