У меня 2 пользователя, каждый из которых имеет свою основную группу. Для пользователя user1 основная группа это group1 с GID 501. Для пользователя 2 основной группой является группа 2 с GID 502.

Я отредактировал /etc/passwd вручную, чтобы у user1 теперь был GID 600. Однако я забыл создать новую группу с GID 600 (и я не редактировал /etc/group ).

Меня удивляет то, что, хотя я никогда не создавал группу с GID 600 (и поэтому в /etc/group такой группы нет)- все работает так, как будто такая группа существует:

Примеры:

1) После того, как user1 создаст новый файл - test.txt - User2 не сможет переслать этот файл.

2) При запуске ls -l я вижу, что test.txt принадлежит GID 600.

Что мне не хватает? Почему это работает, хотя есть несоответствия между /etc/passwd и /etc/group?

Благодарю.

2 ответа2

0

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

Наилучшим примером, демонстрирующим это, является USB-диск, записанный в системе, где GID 600 определен локально, а затем перемещен в систему, где он не существует локально. Файлы будут отображаться правильно, с числовым значением 600, которое не может быть преобразовано в имя группы.

0

Что меня удивляет, так это то, что хотя я никогда не создавал группу с GID 600 (и поэтому в /etc /group такой группы нет)- все работает так, как будто такая группа существует

Не совсем все: пользователь может принадлежать к такой безымянной группе, только если это его основная группа, т.е. идентификатор группы указан в его строке в /etc/passwd . Но это лишь следствие того, как хранится информация о членстве в неосновной группе.

Ядро в основном обрабатывает пользователей и группы по номерам UID и GID; имена - это просто дружественный пользовательский интерфейс для нас, людей. POSIX-совместимые файловые системы также склонны хранить владельца файлов по номерам UID/GID, а не по именам пользователей / групп.

Иногда также необходимо работать с неполной информацией о пользователе / группе. Например, система, использующая центральную базу данных пользователей LDAP или NIS, не должна уничтожать информацию о владельце / группе файлов только потому, что из-за сетевого сбоя база данных с информацией о пользователях недоступна.

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

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