多人共用一台服务器怎么分责
发布时间:2026-03-21 11:32       
更新时间:2026-03-22 11:25
一台服务器七八个人用,出了问题查不到是谁干的,这口锅往往只能管理员背。共享账号看起来省事,实际是把所有人的操作混成一锅粥。分责的前提,是把"共用"拆成"各有一个账号"。
一、账号分离是基础
每人一个独立账号,禁止共用 root。建号很简单:
```
useradd -m -s /bin/bash zhang
passwd zhang
```
账号即责任:登录记录、操作历史、文件归属都跟着账号走,last 和 /var/log/secure(Ubuntu 为 auth.log)里一查便知。root 登录干脆禁掉:sshd_config 里设 PermitRootLogin no,管理动作全走个人账号加 sudo,责任链才清楚。密码过期用 chage -M 90 统一设置,能配密钥登录的优先用密钥。
二、sudo 用白名单
不是人人都需要完整 root。先建组再按组授权,人走删号即可,规则不用重写:
```
groupadd devs
usermod -aG devs zhang
```
visudo 里给组放行时只给必要命令,别直接编辑 sudoers 文件,语法错了整台机器的提权都会失效:
```
%devs ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myapp
```
这条规则只允许重启指定应用,参数也能一并限制,改系统配置仍要找管理员。白名单越短,事故半径越小。
三、审计要能落地
关键目录配 auditd 监控,auth 日志集中转发到另一台机器,本机被清了也有底档。每周抽查一次 sudo 日志,对照变更记录,对不上号的当面问清,习惯就养成了。每月导一次登录与提权记录,异常时段的登录重点看。磁盘配额按人划分,home 目录互不可写,误删别人文件这类纠纷自然就少了。审计规则上线前先敲一遍 ausearch 确认能出结果,配了不生效的审计最误事。
四、流程补两句
新成员入职手续办结当天建号、离职当天删号,与权限回收清单绑定;共享目录用组权限加 setgid 位管理,新文件自动归组;生产操作约定在低峰时段;重要改动先在测试机演练。规则不写下来,等于没定。
分责不是不信任谁,而是让每次变更都对得上人。账号、白名单、审计三件套配齐,共用也能用得踏实。