Вопрос или проблема
Я пытаюсь добавить своего пользователя в несколько групп. Я использовал sudo usermod -G group1,group2
, чтобы добавить своего пользователя в дополнительные группы, которые я создал сам. Мое имя пользователя отображается в /etc/group
, но после перезагрузки они исчезают. Группы остаются в /etc/group
, но мое имя пользователя удалено. Более того, id
показывает дополнительную группу (назовем ее group3
). В /etc/group
я не являюсь ее участником. Поиск файлов в /etc дал файлы с именами /etc/group-
и /etc/gshadow-
, содержащие мое членство в group3
.
Что такое /etc/group-
и почему мои членства в дополнительных группах удаляются из /etc/group
после перезагрузки?
Я использую Void Linux, и:
$ uname -a
Linux ojiisan 6.6.52_1 #1 SMP PREEMPT_DYNAMIC Sat Sep 21 15:47:36 UTC 2024 x86_64 GNU/Linux
Графический интерфейс – Gnome.
[ariser@ojiisan ~]$ grep group /etc/nsswitch.conf
group: files
Скорее всего, когда вы создавали группу, вы случайно повторно использовали идентификатор группы, который уже использовался группой “group3”. Неясно, почему ваше имя пользователя было удалено из строки в /etc/group, но системные инструменты, которые распознают группы, увидят первую группу, использующую идентификатор в /etc/group, а не ваше добавление.
Еще одна возможность заключается в том, что файл /etc/group на самом деле является только для чтения и изменения в него были сохранены только в памяти, а не записаны на диск. Это может произойти, например, если вы используете SD-карту, и SD-карта выходит из строя. Это также может произойти, если файл группы динамически генерируется системой при загрузке. Однако при быстром проверке это, похоже, не так для Void Linux. Ни одна из этих причин маловероятна; скорее всего, вы неправильно истолковали, какие изменения были внесены в /etc/group изначально.
Ответ или решение
Ваша проблема с изменением файла /etc/group
может быть вызвана несколькими факторами. Давайте рассмотрим ситуацию более подробно.
-
Проверка идентификаторов групп: Вы упомянули, что ваша учетная запись удаляется из групп после перезагрузки. Возможно, вы случайно использовали идентификатор группы (GID), который уже занят другой группой (например,
group3
). Используйте командуgetent group
для проверки текущих групп и их идентификаторов. Убедитесь, что не произошло конфликта идентификаторов. -
Динамически генерируемые файлы: В системах, подобных Void Linux, файл
/etc/group
обычно не генерируется динамически. Тем не менее, стоит проверить, не происходит ли изменение файла при перезагрузке системы с запуском каких-либо скриптов или служб, которые могут перезаписывать его. Убедитесь также, что у вас нет конфигураций, которые могли бы вовлечь initscripts или службы, изменяющие группы. -
Состояние файловой системы: Убедитесь, что у вас нет проблем с файловой системой. Если ваш
/etc/group
был загружен из временной памяти, (например, если вы используете SD карту или внешний диск), и она выходит из строя или монтируется только для чтения, то изменения могут не сохраняться. Используйте командуmount
для проверки состояния монтированных файловых систем. -
Проверка прав доступа: Убедитесь, что файл
/etc/group
не защищен от записи. Вы можете проверить права файла с помощью командыls -l /etc/group
. Если файл доступен только для чтения, вам нужно изменить права, чтобы иметь возможность вносить изменения. -
Система управления пользователями: Если вы используете какую-либо систему управления пользователями, такую как LDAP или NIS, она может переопределять локальные настройки групп при каждом входе в систему или перезагрузке. В таком случае проверьте конфигурацию вашего
nsswitch.conf
, чтобы удостовериться, что в нем нет ссылок на такие системы. -
Файлы резервных копий: Вы упомянули наличие файлов
/etc/group-
и/etc/gshadow-
. Эти файлы представляют собой резервные копии ваших групп и паролей групп, которые могут быть созданы для безопасности. Однако они не должны менять содержимое основного файла при перезагрузке, это скорее показывают предыдущие состояния файлов. Если ваш/etc/group
зафиксирован неправильно, вы можете попробовать восстановить его из резервной копии.
Применив вышеперечисленные рекомендации, вы сможете лучше понять, почему ваши изменения в /etc/group
не сохраняются. Если ни одно из этих решений не помогло, возможно, стоит обратиться к сообществу пользователей Void Linux для более детального анализа проблемы.