В чем разница между основной группой и вторичной группой в Ubuntu?
В чем разница между основной группой и вторичной группой в Ubuntu?
Ответы:
Основная группа - это группа, которая применяется к вам при входе в систему с использованием обычных методов (TTY, GUI, SSH и т. Д.).
Поскольку процессы обычно наследуют группу родителя, а ваш первоначальный процесс или оболочка будет иметь вашу основную группу в качестве группы, все, что вы делаете, обычно влияет на основную группу (например, на создание файлов).
Вторичные группы - это группы, в которых вы можете запускать процессы как без использования группового пароля, так и через sg
или войти в систему с помощью newgrp
команды.
Так что если у вас есть первичная группа x
и вторичная группа y
,
touch foo
обычно создает файл с x
именем владельца группы (если родительский каталог не является SETGID для другой группы). Тем не менее, вы можете сделать:
sg y 'touch bar'
# or
newgrp y
touch baz
Тогда bar
и baz
будет создан с y
группой.
Однако, если у вас нет группы в ваших дополнительных группах (скажем z
), команды sg
и newgroup
запросят пароль группы, если вы используете их с z
.
Если вы говорите о группах файловых систем, они довольно хорошо объяснены здесь, в статье о киберцити . Основная группа используется по умолчанию при создании нового файла. Вы можете проверить это
touch foo
ls -la foo
Файл будет принадлежать вам и находиться в вашей основной группе. Пользователи, которые также входят в вашу основную группу, будут иметь разрешения на уровне группы для этих файлов.
Вы можете проверить свои второстепенные группы с
groups $(whoami)
Также можно обмениваться файлами с людьми, которые не входят в вашу основную группу, установив параметр « Задать идентификатор группы» в каталоге. Это объясняется здесь: общая папка с SetGID .