生产环境,如何以最小权限使用centos服务器

在阿里云、腾讯云采购云服务器以后,第一件事是使用root用户登录云服务器,然后创建一个子用户去进行服务器的日常管理与维护,确认新建的子用户可以正常使用后,最后把root用户禁用。下面我们按照这个模式展开;

在执行“禁用 Root 登录”之前,务必确保新创建的普通用户可以正常登录,并且拥有 sudo 权限。建议保留当前的 Root 会话窗口不要关闭,直到你确认新用户可以成功登录并提权为止,以防被锁在系统之外。

第一步:创建普通用户并设置密码

  1. 创建子用户webadmin
    # 或者使用 useradd -m webadmin (不同发行版略有差异,adduser 交互更友好)
    adduser webadmin
    
  2. 将用户加入 sudo 组
    # 为了让 webadmin 能够执行管理员操作(如安装软件、重启服务),需要将其加入 sudo 用户组。
    usermod -aG wheel webadmin
    
  3. 验证 sudo 权限
    # 切换到新用户测试
    su - webadmin
    sudo ls /root
    # 如果提示输入 webadmin 的密码,且能列出 /root 目录内容,说明权限配置成功。
    # 输入 exit 退回到 root 用户
    

第二步:配置 SSH (如果想走传统的用户名+密码登录,请查看文章尾部关于密码设置部分)

为了更安全且方便地登录,建议配置 SSH 公钥认证,这样以后登录无需输入密码,且比密码更安全。

  1. 在本地机器生成密钥(如果还没有)

    ssh-keygen -t ed25519
    
  2. 将公钥复制到服务器(在本地机器执行)

    ssh-copy-id webadmin@你的服务器IP
    # 输入 webadmin 的密码
    # 完成后,尝试直接 ssh webadmin@你的服务器IP,应该无需密码即可登录。
    # (如果没有 ssh-copy-id,可以手动将本地 ~/.ssh/id_ed25519.pub 的内容追加到服务器的 ~webadmin/.ssh/authorized_keys文件中,并确保权限正确:chmod 700 ~/.ssh和chmod 600 ~/.ssh/authorized_keys`)
    

第三步:禁用 Root 用户远程登录

确认 webadmin 可以正常登录并使用 sudo 后,开始禁用 Root。

  1. 编辑 SSH 配置文件
    sudo vim /etc/ssh/sshd_config
    
  2. 修改 PermitRootLogin 参数
    # 找到以下行(可能被 # 注释):
    PermitRootLogin yes
    # 修改为:
    PermitRootLogin no
    # no: 完全禁止 Root 通过 SSH 登录(包括密码和密钥)。
    # prohibit-password: 仅禁止密码登录,允许密钥登录(如果你必须保留 Root 的紧急密钥通道,选这个;否则选 no)。
    
  3. (可选)修改 SSH 端口(为了进一步减少暴力破解,可以同时修改默认端口 22 为其他端口(如
    Port 2222
    # 注意:如果修改了端口,记得在防火墙中开放新端口!
    
  4. 重启 SSH 服务
    sudo systemctl restart sshd
    

第四步:最终验证(关键!)

  1. 不要关闭当前的 Root 终端窗口。
  2. 打开一个新的终端窗口,尝试使用新用户登录:
    ssh webadmin@你的服务器IP
    
  3. 测试提权:
    sudo yum update
    
  4. 尝试 Root 登录(应失败)
    # 新开一个终端,尝试
    ssh root@你的服务器IP,应该被拒绝连接或提示权限不足。
    

额外建议:防火墙配置

如果你修改了 SSH 端口或为了确保安全,请配置防火墙。

sudo firewall-cmd --permanent --add-service=ssh
# 如果改了端口:sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload

通过以上步骤,你的服务器将具备更高的安全性:日常维护使用普通用户 webadmin,仅在必要时通过 sudo 提权,且黑客无法直接暴力破解 Root 账户。

如果不想走密钥登录,想走用户名、密码登录,那么就如下设置:

请使用 root 权限或具有 sudo 权限的用户执行以下命令:

sudo passwd webadmin

系统会提示你:

# 密码要满足:大小写字母 + 特殊字符 + 数字 (比如我设置的示例密码为:UserName@2026)
New password: [输入你想设置的新密码]
Retype new password: [再次输入确认]

设置成功后,屏幕会显示 passwd: password updated successfully。此时,webadmin 的密码就是你刚刚设置的那个。

关于密码设置的事情:

  • 没有默认密码(如 123456、admin 等)。
  • 密码是创建时手动输入的,或者需要后续通过 passwd 命令设置。
  • 如果不确定,直接运行 sudo passwd webadmin 重置一个你知道的密码即可。

results matching ""

    No results matching ""