Какова цель `/ etc / group-`

15

В стандартном дистрибутиве Linux (например, Ubuntu) обычно есть /etc/groupи /etc/group-, где второй читается только root.

man groupтолько описывает /etc/group.

Таким образом, мой вопрос: какова цель /etc/group-?

maxschlepzig
источник

Ответы:

15

Это резервная копия предыдущей копии файла, которая является версией файла до последнего изменения. Он хранится, потому что это очень важный файл. Вы можете удалить его, но резервное копирование - это «хорошо».

Вы можете легко проверить это. Пытаться

# groupadd test
# diff /etc/group /etc/group-

Есть и другие файлы, которые также копируются таким же образом, а именно. /etc/passwd- /etc/shadow-,

Все утилиты управления пользователями и группами, такие как useradd, usermod, userdel, groupmod, groupdelи т. Д., Создают / обновляют эти файлы резервных копий после успешного выполнения команды.

Сачин Дивекар
источник
1
Хорошо, я думаю, это будет еще одна причина для изменения с /etc/groupпомощью групповых команд, а не для непосредственного редактирования.
maxschlepzig
@maxschlepzig, умный. Я обновил свой ответ, упомянув утилиты управления пользователями и группами.
Сачин Дивекарь
0

Я согласен с ответом @Sachin Divekar, что это «резервный файл», но мне нужно было больше информации о том, как файл создается и как устанавливаются его разрешения. В CentOS6 usermodдля изменения членства в группе (пере) создавался / etc / group- с разрешениями 0644 вместо «только для чтения как root», как описано в исходном вопросе.

usermod(и все другие утилиты управления пользователями / группами, упомянутые @Sachin Divekar) является частью пакета shadow-utils (я нашел источники для shadow-4.1.5.1), и после поиска по источникам я нашел метод #create_backup в commonio .c (см. на github.com ), который используется всеми пользовательскими / групповыми утилитами. Файл резервной копии назван в честь исходного файла с постфиксом «-» (в данном случае «/ etc / group-»), а права доступа к файлу резервной копии установлены равными разрешениям исходного файла и «отредактированы с помощью 0664». ,

Это объясняет, почему, когда / etc / group имеет значение chmod 0644, после запуска gpasswdили usermodизменения членства в локальной группе, создается файл / etc / group-, если он еще не существует и для него задано значение 0644.

Лимонный кот
источник