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

Я немного знаю о пользователях и группах; в прошлом у меня могла быть такая группа, как «DBAS» или «ADMINS», и я бы добавил отдельных пользователей в каждую группу ...

Но я был удивлен, узнав, что я могу добавлять пользователей к другим пользователям - как если бы они были группами.

Например, если моя / etc / group содержала следующее:

user1:x:12501:
user2:x:12502:user1
admin:x:123:user2,jim,bob

Поскольку user2 является членом группы администраторов, а user1 является членом user2, действительно ли user1 является администратором? Если административная группа находится в файле sudoers, может ли user1 также использовать ее?

Я пытался смоделировать это и не смог сделать это как user1 ... но я не уверен, что это невозможно.

EDIT: SORRY - обновлена ​​ошибка в вопросе.

5
задан 15 October 2012 в 01:13

2 ответа

В вашем примере вы:

  • Имеете пользователя user1 в составе группы user2.
  • Иметь пользователя user2 в составе группы admin.

Пользователь user1 отличается от группы user1.

Поскольку (пользователь) user2 является членом группы admin, а (пользователь) user1 является членом (группы) user2 - фактически user1 является админ?

  • Нет, пользователь user2 является членом группы admin. Не группа user1.

Если группа admin находится в файле sudoers, может ли (пользователь) user2 также использовать ее?

  • Да, так же, как другие пользователи, которые являются членами группы, Джим и Боб.

Если группа admin находится в файле sudoers, может ли user1 также использовать ее?

  • Нет, поскольку группа admin состоит только из пользователей. В нем есть пользователь user2. Даже если пользователь user1 является частью группы user2. Это разные вещи, но в этом и во многих дистрибутивах одно и то же имя. Группы с одной стороны, пользователи с другой. Если имена совпадают, они все равно совершенно разные вещи.

Подводя итог : Отделите пользователя от группы. Имена могут быть одинаковыми, но они относятся к разным объектам. В GNU / Linux у вас нет групп внутри групп, группа может содержать только пользователей (что отличается от, скажем, Windows).

0
ответ дан 15 October 2012 в 01:13

Немного предыстории: в Linux пользователь всегда является членом первичной группы , а также может быть членом нуля или более вторичных групп .

Когда пользователь создает файл, в файле ID пользователя и ID группы устанавливаются на ID пользователя и его первичной группы соответственно, поэтому файл становится «принадлежит» этому пользователю и группе. Кроме того, права доступа к файлу устанавливаются автоматически с использованием текущей настройки umask , которая включает разрешения для «пользователя», «группы» и «других». Таким образом, более или менее все пользователи в той же группе, что и основная группа пользователей, получают как минимум некоторые разрешения для файлов, которые создает пользователь.

Вторичные группы, с другой стороны, не влияют на владение файлами, которые создает пользователь, вы можете рассматривать их как способ предоставления доступа к файлам, созданным другими.

Как вы видите, «автоматическое» поведение основной группы делает ее немного склонной к непреднамеренному доступу. По этой причине Ubuntu наряду со многими другими дистрибутивами Linux использует схему User Private Group - когда создается пользователь, создается группа с таким же именем, которая устанавливается в качестве основной группы этого пользователя. Таким образом, основной группой пользователя всегда является группа, состоящая ровно из одного члена.

Из документации CentOS :

Red Hat Enterprise Linux использует схему пользовательских групп (UPG), которая упрощает управление группами UNIX.

UPG создается всякий раз, когда в систему добавляется новый пользователь. UPG имеет то же имя, что и пользователь, для которого она была создана, и этот пользователь является единственным участником UPG.

UPG позволяют безопасно устанавливать разрешения по умолчанию для вновь создаваемого файла или каталога, что позволяет как пользователю, так и группе этого пользователя вносить изменения в файл или каталог.

Параметр, который определяет, какие разрешения применяются к вновь созданному файлу или каталогу, называется umask и настраивается в файле / etc / bashrc. Традиционно в системах UNIX значение umask устанавливается равным 022, что позволяет вносить изменения только пользователю, создавшему файл или каталог. Согласно этой схеме, все остальные пользователи, включая членов группы создателя, не могут вносить какие-либо изменения. Однако в схеме UPG такая «групповая защита» не требуется, поскольку у каждого пользователя есть своя собственная частная группа.

Итак, как вы можете видеть, «пользователь является членом другого пользователя» - как упоминает @Kent, в Linux пользователи не могут «содержать» других пользователей, а также группы не могут быть вложенными и могут содержат только пользователей, а не другие группы. Источник вашей путаницы заключается в том, что в схеме User Private Group основная группа пользователя является «частной» группой с тем же именем, что и пользователь.

0
ответ дан 15 October 2012 в 01:13

Другие вопросы по тегам:

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