Как предоставить nopasswd доступ к нескольким командам через sudoers?

Ниже я знаю:

Мне нужно добавить эту строку ниже в файле sudoers, чтобы предоставить пользователю права на конкретную задачу.

user_name ALL=NOPASSWD: /usr/bin/apt-get install

В этом случае я хочу предоставить этому пользователю возможность перезапустить 2 службы (т.е. Apache и MySQL) со всеми правами на установку.

Используя приведенную выше строку, я дал ему все права на установку, теперь мне нужно добавить одну и ту же строку еще два раза, чтобы предоставить права на услуги? Или я могу просто добавить эти команды в одну и ту же строку, разделенные запятой или чем-то?

38 голосов | спросил Hrish 23 Jam1000000amWed, 23 Jan 2013 08:41:13 +040013 2013, 08:41:13

3 ответа


45

Я решил проблему, создав новую группу для ограниченных прав администратора ... имя этой группы: LimitedAdmins после этого я обновил файл sudoers, как показано ниже.

Прилагаемая строка:

%LimitedAdmins ALL=NOPASSWD: /usr/bin/apt-get*, /etc/init.d/apache2 restart

Это полный файл /etc/sudoers:

# This file MUST be edited with the 'visudo' command as root.    
#   
# Please consider adding local content in /etc/sudoers.d/ instead of directly modifying   his file.   
#   
# See the man page for details on how to write a sudoers file.  
# 
Defaults    env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL  

#includedir /etc/sudoers.d
%domain_name\\administrators ALL=(ALL) ALL
%LimitedAdmins ALL=NOPASSWD: /usr/bin/apt-get*, /etc/init.d/apache2 restart

Он отлично работает в случае, если ваша система является доменом или нет.

ответил BTP190 11 FebruaryEurope/MoscowbTue, 11 Feb 2014 22:09:52 +0400000000pmTue, 11 Feb 2014 22:09:52 +040014 2014, 22:09:52
8

Похоже, что запятая - это то, что вам нужно.

  

Cmnd_Alias ​​PRINTING = /usr /sbin /lpc, /usr /bin /lprm
  ...
  user3 ALL = ПЕЧАТЬ

Источник

ответил Karthik T 23 Jam1000000amWed, 23 Jan 2013 08:55:34 +040013 2013, 08:55:34
2

То, что я закончил, было (похоже на то, что вы ищете):

## PRTG monitoring
Cmnd_Alias PRTG = /bin/cat /proc/loadavg, /bin/df, /var/prtg/scripts/check_proc.sh
prtg ALL = NOPASSWD: PRTG

Внутри: /etc/sudoers.d/666-prtg

(666, потому что ... ну ... prtg - это инструмент мониторинга на основе окон, который вы знаете)

ответил Mark Maas 6 52015vEurope/Moscow11bEurope/MoscowFri, 06 Nov 2015 14:50:43 +0300 2015, 14:50:43

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132