1
msg7086 2020-07-31 13:01:55 +08:00
操作之前先过一下脑子就行了。
什么是危险操作?运维本身就是危险操作。你要防止危险操作,那就得把运维开了。 |
2
Yut 2020-07-31 13:02:15 +08:00 via Android
直接点的话给每个账户上 root 然后限制可以执行的命令完事,毕竟排除蓄意的可能话这样最方便
但是这个需求会出现说明你们公司的整个运维结构有问题 |
3
love 2020-07-31 13:16:27 +08:00
二个人一起操作?
|
4
charlie21 2020-07-31 13:46:28 +08:00
linux 的鉴权机制是很够的阿,你不用
|
5
felixcode 2020-07-31 13:59:39 +08:00 via Android
给普通用户,限制 sudo 权限。
|
6
Reficul 2020-07-31 14:01:46 +08:00
基于配置的不可变架构,运维的时候不能登陆机器,只能修改目标描述。
|
7
Reficul 2020-07-31 14:02:23 +08:00
描述变更再配合 Git 的版本管理以及 CodeReview 。
|
8
zhoudaiyu OP |
9
beautwill 2020-07-31 14:30:05 +08:00
首先跳板机不应该有权限登录,可以在办公网络里设置个 ssh 代理,通过代理访问服务器。
账号的话可以创建一个只读用户和用户组,设置所有的用户都是一个用户组,这样平时只要用这个只读账号就可以查看文件、日志等操作。 |
10
Reficul 2020-07-31 14:31:31 +08:00
|
12
msg7086 2020-07-31 15:53:36 +08:00
@zhoudaiyu 那就让他过脑子呗。
很多事情在不过脑子的情况下都会出事故,所以根本问题是做改动之前要再三确认。 比如上面说的 Code Review 或者 Over shoulder 都是比较好的办法。 大家都是人类,总会翻错的,只能靠堆人力来避免一个人脑抽搞挂整个系统。 当然了,盯着的眼睛越多,效率也越低。速度和安全是不可兼得的。 你愿意让人回家值班的时候操作生产机,那必然要承受搞挂系统的风险。 你要限制危险操作,必然就没办法让运维单人及时处理事故。 |
13
msg7086 2020-07-31 15:58:21 +08:00 1
我司之前客服上客户生产机做复杂操作的时候,就是两个人一起做,他负责敲键盘,我坐在他旁边负责审查他的输入。他提出要做的事,我提出做法,他输入进命令行,我检查完输入后确认执行,然后他敲下回车。
这样我俩要同时脑抽才会出事故,相对来说几率就低很多。 要追求极致的话可以去看看飞航座舱管理,是无数鲜血换来的双人三人机组尽可能避免单人脑抽导致坠机的经验,我觉得还是挺有学习意义的。 |
14
ivyliner 2020-07-31 16:31:07 +08:00
作为一个资深运维, 特别不喜欢 root 操作东西. 基本上需要的时候采用 sudo.
业务基本上在业务账号上运行, 基本上 99%的导致都不需要 root 权限. 另外删东西之前, 一般先 ls 出来, 确定范围再操作. 最后脑子是个好东西. |
16
handsomeroger 2020-07-31 16:53:20 +08:00
我们是用 jumpserver 做堡垒机,上面设置了一些命令过滤器规则,比如说 rm -rf /* 就禁止任何用户使用 root 也不行
|
17
zdnyp 2020-07-31 17:43:34 +08:00
“一天可能得申请很多次” 解决不了问题,就解决提出问题的人
|
18
zhoudaiyu OP @handsomeroger 其实 rm 都还好 可能能恢复 到是 echo 了就难了
|
19
zhoudaiyu OP @msg7086 怎么说呢 不想给钱 只能招些基础薄弱的人 但凡有一点基础的 也不会清 dat 文件吧
|
20
cominghome 2020-07-31 21:54:53 +08:00
做好重要资料备份
运维不让拿 root 权限有点胡扯(估计只有银行金融会有动力做这种事吧),而且 sudo 并不能解决脑子发昏这个问题 |
21
ceyes 2020-07-31 22:05:52 +08:00 via iPhone
流程上要有分权和变更管理等措施。
技术上 Google 有个 zreo touch 的理念,自动化控制服务部署,以避免人为失误,可以参考他的开源书-site reliability engineering |
22
lxilu 2020-08-01 00:22:14 +08:00 via iPhone
SELinux
|
23
msg7086 2020-08-01 05:02:52 +08:00
|
24
YaakovZiv 2020-08-01 08:51:41 +08:00
运维为啥要删除那个文件
运维有权限删除文件吗 是否能删除文件是谁和运维沟通的,是运维自己说了算吗 权限管理,要不就上堡垒机监控一下。或者做定时备份,出问题了再倒回。 |
25
Yut 2020-08-01 15:18:08 +08:00 via Android
@zhoudaiyu 为啥要换 shell 呢,在 bash 里就可以给各个 user 限制它能执行的命令啊,比如说 ls 什么的都是有个相当于软链接到一个个程序的,手动配置这个就行了我记得就是每个 user 给个单独的 bin folder 然后只 link 给用的程序就完事了
|
26
byzf 2020-08-03 18:08:10 +08:00
每天要操作的事情都是后台调用脚本, 不开终端.
以我司的网络环境和公司分配给我的卡壳键盘漂移鼠标和 8G 内存, 很难保证我执行的命令不出问题. |