Linux vipw vigr 命令 - 专用的用户账户文件编辑工具
vipw 命令(全称为 vi password)和 vigr 命令(全称为 vi group)是 Linux、Unix 系统中专门用于编辑用户账户相关文件的命令工具,它的主要功能是安全的编辑 /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow 等用户账户相关的配置文件,该命令自带文件锁机制,能够防止多进程同时修改文件。
使用该命令在编辑文件时优先调用系统 VISUAL 环境变量指定的编辑器,其次调用 EDITOR 环境变量指定的编辑器,如果都为设置,默认使用 vi 编辑器。
vipw 与 vigr 命令的功能对比
vipw 与 vigr 命令的语法、选项、工作机制完全一致,只是编辑的目标文件不同,但也有重叠:
vipw: 用于编辑用户账户相关的文件,编辑/etc/passwd、/etc/shadow等用户相关的配置文件vigr: 用于编辑用户组相关的文件,编辑/etc/group、/etc/gshadow等用户组相关的配置文件
[!IMPORTANT]
vipw 与 vigr 的使用方法一致,如下以 vipw 命令给出解释说明,vigr 命令的使用方法相同。
vipw 命令语法结构
vipw 命令的语法结构简单明了,结构形式为:
vipw [选项]
语法结构中各部分的说明:
[选项]:可选的内容,用于编辑指定的文件类型或运行模式等,不使用选项时默认编辑/etc/passwd文件。
vipw 命令示例
vipw 命令编辑的为系统文件,需要 root 或 sudo 权限执行操作。
默认编辑用户文件
当不使用任何选项执行命令时,会默认编辑 /etc/passwd 用户文件:
sudo vipw
编辑用户的加密的密码文件
使用 -s 或 --shadow 选项指定编辑 /etc/shadow 加密文件:
sudo vipw -s
编辑用户组文件
使用 -g 乎 --group 选项编辑用户组文件,与 vigr 的功能相似:
sudo vipw -g
vipw 命令选项详解
vipw 命令用于直接编辑用户相关的文件,如下给出所有选项的详细解释说明:
| 选项 | 功能说明 |
|---|---|
-g, --group | 指定编辑用户组文件,等同于使用 vigr 命令 |
-h, --help | 显示命令帮助信息并退出 |
-p, --passwd | 指定编辑用户信息文件 /etc/passwd,该选项是命令的默认行为 |
-q, --quiet | 启动静默模式,不输出额外的提示信息 |
-R, --root CHROOT_DIR | 在指定的 CHROOT_DIR 目录中执行操作,使用该目录下的配置文件 |
-s, --shadow | 指定编辑存放加密后的密码的文件 /etc/shadow |
关键配置文件说明
在使用 vipw 命令会直接修改一些系统配置文件,如下是一些相关的配置文件:
| 文件路径 | 作用说明 |
|---|---|
/etc/passwd | 存储用户账户的基本信息,如:登录名、UID、GID、家目录、Shell 等 |
/etc/shadow | 存储用户账户需要加密的信息,如加密后的密码等 |
/etc/group | 存储用户组的信息 |
/etc/gshadow | 存储用户组需要加密的信息 |
vipw 命令的退出状态码
vipw 命令执行后会返回一个状态码,根据其返回的值,可以判断命令的执行情况:
| 状态码 | 含义说明 |
|---|---|
0 | 命令执行成功,文件编辑、保存、校验均正常完成 |
非 0 | 命令执行失败,可能的原因有文件加锁失败、权限不足、文件格式错误、chroot目录无效等 |
结语
vipw 命令是 Linux / Unix 系统中编辑用户账户文件的安全工具,它能够对文件进行锁定、自动校验格式,可以有效避免编辑文件时导致文件损坏,是系统管理员必须掌握的一款安全工具。