服务器如何创建普通运维账号
学完这篇,你会在 Linux 服务器上创建一个权限受控的普通运维账号,能用它登录、执行日常命令,又不会像 root 那样一不小心把系统搞坏。
第一步:用 root 登录并确认系统版本
先拿到服务器的 root 权限,确认你面对的是哪套系统,因为后面加用户组、配 sudo 的命令在 CentOS 和 Ubuntu 上略有差别。
ssh root@你的服务器IP
cat /etc/os-release
输出里 ID= 这一行是 centos、rhel 还是 ubuntu、debian,记下来。同时确认一下有没有 useradd 和 sudo:
which useradd sudo
两条路径都打印出来,说明工具齐全,可以继续。
第二步:创建账号并设置密码
这一步做出一个能登录的账号,得到的是一个空壳用户,还没有任何特权。
useradd -m -s /bin/bash opsuser
passwd opsuser
-m:自动创建家目录/home/opsuser,不加这个参数用户登录后会没有自己的目录。-s /bin/bash:指定登录 shell。有些系统默认给/sbin/nologin,那样这个账号根本登不进去。passwd会提示你输两遍密码。密码建议 12 位以上,混合大小写、数字和符号。
注意:如果公司有统一账号系统(LDAP、AD),不要手工
useradd,否则会出现同名冲突。先问清楚运维负责人。
第三步:给它加 sudo 权限
普通账号默认不能执行 systemctl restart、apt install 这类操作。这一步让它在需要时能提权,但必须输自己的密码,留下操作记录。
Ubuntu / Debian:
usermod -aG sudo opsuser
CentOS / RHEL:
usermod -aG wheel opsuser
-aG 的 -a 是追加,千万别漏。写成 -G 会把用户从其他附加组里踢出去。
改完组之后,用 id opsuser 检查,输出里应该能看到 sudo 或 wheel。
第四步:验证登录和提权
这一步确认账号真的能用,避免交付一个登不上的账号。
新开一个终端窗口(别关掉 root 那个):
ssh opsuser@你的服务器IP
whoami
sudo whoami
第一条 whoami 应该输出 opsuser,第二条输入密码后应该输出 root。两条都对,账号就算建好了。
注意:
sudo第一次会让你输当前用户的密码,不是 root 密码。如果提示opsuser is not in the sudoers file,说明第三步没生效,退出重新登录一次再试。
第五步(可选):限制它能干什么
如果这个账号只负责看日志、重启服务,可以进一步收紧权限,而不是给全部 sudo。用 visudo 编辑(务必用这个命令,它会检查语法,写错了不会把自己锁在门外):
visudo -f /etc/sudoers.d/opsuser
写入:
opsuser ALL=(ALL) NOPASSWD: /bin/systemctl restart nginx, /usr/bin/journalctl
这样它只能免密重启 nginx 和看日志,其余操作一律拒绝。
小结
- 创建账号的核心命令是
useradd -m -s /bin/bash 用户名,别忘了-m和-s。 - 加 sudo 权限:Ubuntu 加
sudo组,CentOS 加wheel组,用usermod -aG,-a不能省。 - 建完必须实测登录和
sudo whoami,别只看命令没报错就交付。 - 需要精细化授权时用
/etc/sudoers.d/下的独立文件配合visudo,不要直接改/etc/sudoers。 - 有统一账号系统时优先走集中管理,不要各台机器手工建号。
原文链接:https://www.gj0.com/thread-329.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。