命令详解——mysql -r 在二进制安装mysql时需要新建mysql账号并遵守最小权限原则命令如下groupaddmysqluseradd-r-gmysql-s/sbin/nologin mysql命令解析groupadd: 这是 Linux 中用于创建用户组的基本命令useradd: 这是 Linux 中用于创建新用户的基本命令。-r: 这个参数表示创建一个系统用户。系统用户通常用于运行系统服务或后台进程而不是供人交互式登录。它们的用户IDUID通常在特定范围内如小于1000以区别于普通用户。-g mysql: 这个参数指定新创建用户的主用户组为 mysql。这意味着在执行此命令前系统中需要先存在一个名为 mysql 的用户组。/sbin/nologin: 这个参数设置用户的登录 Shell 为 /sbin/nologin。这是一个重要的安全措施它禁止该用户登录系统。当尝试用此用户登录时系统会立即拒绝从而防止潜在的攻击者在获取该用户凭证后登录服务器。mysql: 这是要创建的新用户名。通常会将其命名为与服务相同的名称以便于识别和管理。详细讲解关于-r参数-r参数的核心作用是创建一个系统账户System Account。当使用-r参数时是在告诉系统“我要创建一个不是为了让人登录使用的账户而是为了运行某个后台服务或程序如 MySQL, Nginx, Apache 等。”普通用户与系统用户对比特性普通用户 (不加-r)系统用户 (加-r)主要用途供真人登录、开发、操作文件运行为后台服务如 Web 服务器、数据库UID 范围通常 ≥ 1000通常 1000 (1-999)家目录自动创建 (/home/用户名)不创建 (除非配合-m)密码策略受密码过期策略限制无密码老化信息安全性拥有登录权限 (默认/bin/bash)通常配合/sbin/nologin禁止登录常见误区很多人认为加上 -r 就自动禁止登录了。事实上-r只是改变了 UID 范围和家目录策略。虽然系统账户通常不需要登录但-r本身不会自动把 Shell 设置为 /sbin/nologin。因此为了安全使用-r时务必手动指定 Shell例如useradd -r -s /sbin/nologin myservice这样才能确保该账户既拥有系统账户的低权限特征又被彻底禁止登录系统。