Правильный способ редактирования файлов /etc/passwd и /etc/group в Linux
В этом кратком руководстве объясняется, как правильно редактировать файлы /etc/passwd и /etc/group с помощью команд vipw и vigr в Linux.
Почему мы не можем просто отредактировать их с помощью текстового редактора, такого как Vi или nano, и покончить с этим?
Хорошо, представьте себе этот сценарий.
Файл /etc/passwd в настоящее время редактируется пользователем root с помощью Vi или некоторых других текстовых редакторов.
В то же время другой пользователь пытается изменить свой пароль, пока пользователь root редактирует файл /etc/passwd.
Таким образом, изменение пароля в этом файле может не обновляться, и пользователь может не иметь возможности войти в систему.
Именно в таком случае команды vipw и vigr приходят на помощь.
Команды vipw и vigr используются для безопасного редактирования файлов /etc/passwd и /etc/group в системах Linux.
Они будут устанавливать соответствующие блокировки при редактировании файлов /etc/passwd и /etc/group, чтобы другие пользователи не могли вносить в них изменения и избежать повреждения файлов.
Когда вы запускаете эти команды с флагом -s, они будут редактировать shadow версии этих файлов, то есть /etc/shadow и /etc/gshadow соответственно.
Правильный способ редактирования файлов /etc/passwd и /etc/group с помощью команд vipw и vigr
Чтобы безопасно отредактировать файл /etc/password, просто запустите:
$ sudo vipw
Чтобы безопасно отредактировать файл /etc/group, запустите:
$ sudo vigr
Теперь команды vipw и vigr заблокируют файлы /etc/passwd и /etc/group и не позволят другим пользователям вносить какие-либо изменения.
Чтобы убедиться в этом, откройте два окна терминала.
Запустите «sudo vipw» в одном окне и попробуйте изменить пароль пользователя в другом окне.
![](https://bookflow.ru/wp-content/uploads/2020/03/linux-pass-min.png)
Пароль не будет обновлен, пока вы не закроете команду vipw.
Поэтому другие пользователи не cмогут случайно или намеренно внсти какие-либо изменения в файл /etc/passwd, пока вы редактируете их от пользователя root.
После закрытия /etc/passwd пароль будет успешно обновлен.
Вы также можете войти как обычный пользователь и попытаться изменить пароль пользователя в другом окне терминала.
Пароль не изменится, пока вы не закроете команду vipw.
Вы даже не сможете создавать новых пользователей при редактировании /etc/passwd командой vipw.
$ sudo useradd itsecforu
useradd: cannot lock /etc/passwd; try again later.
Аналогично, для редактирования shadow версий этих файлов, т. е. /etc/shadow и /etc/gshadow, используйте флаг -s.
$ sudo vipw -s
$ sudo vigr -s
Другие поддерживаемые опции для команд vipw и vipr:
-g, --group
Edit group database.
-h, --help
Display help message and exit.
-p, --passwd
Edit passwd database.
-q, --quiet
Quiet mode.
-R, --root CHROOT_DIR
Apply changes in the CHROOT_DIR directory and use the configuration files from the
CHROOT_DIR directory.
-s, --shadow
Edit shadow or gshadow database
Для более подробной информации обратитесь к справочным страницам.
$ man vipw
$ man vigr