В чем разница между основной группой и вторичной группой в Ubuntu?

18

В чем разница между основной группой и вторичной группой в Ubuntu?

    
задан Nematullah Tanin 17.10.2014 в 10:41
источник

2 ответа

14

Основная группа - это группа, применяемая к вам при входе в систему с использованием обычных методов (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 .     

ответ дан muru 17.10.2014 в 12:57
3

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

touch foo
ls -la foo

Файл будет принадлежать вам и будет находиться в вашей основной группе. Пользователи, которые также находятся в вашей основной группе, будут иметь разрешения на уровне группы для этих файлов.

Вы можете проверить свои вторичные группы с помощью

groups $(whoami)

Также можно обмениваться файлами с людьми, которые не входят в вашу основную группу, установив Установить идентификатор группы в каталоге. Это объясняется здесь: общая папка с SetGID .

    
ответ дан Eero Aaltonen 17.10.2014 в 12:45