/ etc / sudoers vs /etc/sudoers.d/ файл для включения sudo для пользователя

Поскольку вы просили другой язык. Вот один способ сделать это в Python, сохранив ввод в словаре, чтобы вы могли легко получить доступ к значениям с помощью ключей name и age :

#!/usr/bin/env python3

myDict = {}

with open("ages") as inFile:
    for line in inFile:
       if line == "\n":
            print(myDict['name'].rstrip() + " " + myDict['age'], end="")
            continue
       (key, value) = line.split("=")
       myDict[key] = value

print(myDict['name'].rstrip() + " " + myDict['age'], end="")

Учитывая этот infile ( возраст ):

name=ABC
class=3
age=7
roll_no=41

name=XYZ
class=4
age=9
roll_no=23

Я получаю следующий результат:

./pyAges.py 
ABC 7
XYZ 9
2
05.07.2017, 13:36
2 ответа

Выбор между sudoersи sudoers.dне имеет ничего общего с безопасностью, но имеет отношение к ремонтопригодности.

  • Раскомментировав строку группы sudoв /etc/sudoers, вы можете добавить всех пользователей, которым требуется доступ к sudo, в группу sudo. Это может быть проще, а может и нет, чем добавление нового файла в sudoers.d, в зависимости от ваших настроек. Однако изменение поставляемого файла конфигурации может усложнить задачу (. Например, если есть обновление вашего дистрибутива, которое перезапишет файл sudoers, вы должны убедиться, что ваши изменения сохранены ).
  • Добавив файл в /etc/sudoers.d, вы не столкнетесь с проблемой обновления, на которую я намекал выше, но затем, если вы явно добавите конфигурацию для adminuser1, а не для группы sudo, вы добавите больше пользователей в наличие прав sudo потребует добавления дополнительных файлов в /etc/sudoers.d; это может или не может быть более сложным, чем просто добавление их в нужную группу.

Не существует единственного пути, который был бы «наилучшим»; и, конечно же, нет проблемы безопасности, основанной на том, «в каком файле я настраиваю права sudo». Просто рассмотрите преимущества и/или недостатки обоих методов и используйте тот, который лучше всего подходит для вашего случая использования.

7
27.01.2020, 21:55

Из Википедии:

the principle of least privilege (also known as the principle of minimal privilege or the principle of least authority) requires that in a particular abstraction layer of a computing environment, every module (such as a process, a user, or a program, depending on the subject) must be able to access only the information and resources that are necessary for its legitimate purpose.

Это означает, что вариант 2 является лучшим, потому что вы можете настроить разрешение вашего adminuser1. С вариантом 1, когда в будущем вы добавите adminuser2 в группу sudo, у них будут одинаковые привилегии, которые не позволят вам настроить привилегии двух пользователей.

Кроме того, всегда используйте visudo для редактирования файла sudoers.

ХТХ

0
27.01.2020, 21:55

Теги

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