3

Я устанавливаю RH Linux box для обучения. В прошлом у меня было две группы: faculty и students . Каждый учётный счёт был закреплен за students начальной группы, преподавателем faculty .

Я читал Nemeth et al.Unix и Linux System Admin (4-е изд), и они рекомендуют, чтобы основная группа каждой учетной записи была такой же, как и идентификатор пользователя.

Что предпочтительнее?

  • Настроить учетные записи учащихся в своей основной группе в соответствии с их идентификатором пользователя (ig, uid == gid), а затем добавить их в группу students ?

  • Или я должен просто добавить всех студентов первоначально в группу students как я делал в прошлом?

Семантически ли они одинаковы?

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

3 ответа3

4

Если вы хотите, чтобы учащиеся не могли получить доступ к файлам друг друга, у вас есть два варианта:

  1. Используйте GID для каждого пользователя (UID == GID) и установите значение umask по умолчанию 0750.
  2. Установите umask по умолчанию на 0700.

Первый вариант реализуется быстрее, и вероятность его поломать гораздо меньше. Имейте в виду, однако, что нет практического способа без использования чего-то вроде SELinux, чтобы помешать людям преднамеренно разрешить другим доступ к своим файлам.

2

Это в основном вопрос личных предпочтений.

У меня был тот же вопрос несколько лет назад, и я провел некоторое исследование по этому вопросу.
Насколько я смог определить, ни у одного из этих методов нет существенных преимуществ. В большинстве современных дистрибутивов Linux по умолчанию используется метод UID = GID. Некоторые другие системы Unix по-прежнему предпочитают другую методологию. Кажется, это не имеет значения, если вы правильно используете UMASK. (750 является стандартным для GID = UID, 700 предпочтительнее, если несколько пользователей совместно используют GID.)

Может быть какое-то программное обеспечение, которое предполагает одно или другое, но для каждого случая программного обеспечения, которое предпочитает GID = UID, вы можете найти другое программное обеспечение, которое хочет его наоборот. И вы всегда можете заставить вещи работать, используя творческое использование chown и chgrp.

В некоторых организациях может быть предпочтение общего GID из-за способа настройки общих сетевых ресурсов. (Разрешения NFS или способ сопоставления разрешений Unix в списках управления доступом SMB.)

Поэтому я хотел бы перейти к следующему этапу: использовать все, что предписано в вашей организации (если есть такое правило), или то, что по умолчанию выбрано в вашем дистрибутиве (чтобы минимизировать проблемы с приложениями, которые предполагают определенную систему на основе используемого дистрибутива).

2

Многие дистрибутивы автоматически создают основную группу вместе с новой учетной записью пользователя. По умолчанию он использует следующий доступный идентификатор, и это обычно означает, что UID нового пользователя будет равен его GID, если вы ранее не создали группу с назначенным ему автоматическим GID или UID без собственного основного группа.

Сказать UID == GID, таким образом, неверно, так как на многих многопользовательских машинах UID может не совпадать с GID пользователя.

Обычно все учетные записи пользователей также являются членами общей группы, обычно это users(100) , поэтому в системах, где каждая учетная запись имеет свою основную группу, вы можете переключаться с парадигмы на другую на лету, например, с помощью chown -R :users . файлы в папке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .