В стандартном дистрибутиве Linux (например, Ubuntu) обычно есть /etc/group
и /etc/group-
, где второй читается только root.
man group
только описывает /etc/group
.
Таким образом, мой вопрос: какова цель /etc/group-
?
В стандартном дистрибутиве Linux (например, Ubuntu) обычно есть /etc/group
и /etc/group-
, где второй читается только root.
man group
только описывает /etc/group
.
Таким образом, мой вопрос: какова цель /etc/group-
?
Ответы:
Это резервная копия предыдущей копии файла, которая является версией файла до последнего изменения. Он хранится, потому что это очень важный файл. Вы можете удалить его, но резервное копирование - это «хорошо».
Вы можете легко проверить это. Пытаться
# groupadd test
# diff /etc/group /etc/group-
Есть и другие файлы, которые также копируются таким же образом, а именно. /etc/passwd-
/etc/shadow-
,
Все утилиты управления пользователями и группами, такие как useradd, usermod, userdel, groupmod, groupdel
и т. Д., Создают / обновляют эти файлы резервных копий после успешного выполнения команды.
Я согласен с ответом @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.
/etc/group
помощью групповых команд, а не для непосредственного редактирования.