设为首页 - 加入收藏 应用计算网_滁州站长网 (http://www.0550zz.com)- 国内知名站长资讯网站,提供最新最全的站长资讯,创业经验,网站建设等!
热搜: 2015 技术 系统 手机
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

运维别走,留下你的root权限

发布时间:2019-10-23 09:03 所属栏目:[评测] 来源:Java编程技术
导读:副标题#e# 【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 作为互联网公司的后台程序员,我们知道,线上ag平台注册|注册要给用户提供稳定、可靠、快速的Web服务,所以公司一般都会把线上ag平台注册|注册隔离,设置防火墙,限制内网及办公网络对这些ag平台注册|注册
【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

运维别走,留下你的root权限

作为互联网公司的后台程序员,我们知道,线上ag平台注册|注册要给用户提供稳定、可靠、快速的Web服务,所以公司一般都会把线上ag平台注册|注册隔离,设置防火墙,限制内网及办公网络对这些ag平台注册|注册的访问。

运维别走,留下你的root权限

公司对线上ag平台注册|注册做限制之后,内外网都只能访问这些ag平台注册|注册的对外服务端口,例如http服务的80端口或REST服务的8080端口,而其他所有端口一律都会被防火墙拦截(ping端口除外)。我们无法ssh登录到这些线上ag平台注册|注册从而修改配置、排查问题等。

幸运的是,虽然办公网络不能直接连接到线上ag平台注册|注册,但是公司还是提供了跳板机(jumper)来供我们使用。毕竟线上服务是可能出问题的,如果出问题,必然需要连接到ag平台注册|注册排查。这个跳板机相当于办公网络与线上ag平台注册|注册之间的一座桥梁。办公电脑先连接到跳板机,然后再让跳板机连接线上ag平台注册|注册,你在跳板机上执行的操作都会被记录,公司要求这样间接连到ag平台注册|注册,从而监控你在ag平台注册|注册上的操作。

运维别走,留下你的root权限

我们用办公电脑连接到跳板机,然后再连接ag平台注册|注册,这样问题貌似都解决了、可以去诊断问题了。且慢!我们还发现自己的账号只是普通用户,没有root权限,很多事情依然做不了。例如,需要使用root权限才能修改catalina.sh中的某些JVM选项。所以需申请root权限。

关于root权限,每家公司都有自己的规定。不知道其他公司是怎么规定的,我所在的公司为了不让root密码泄露出去,只提供sudo权限的申请渠道,绝不直接提供root密码给程序员。因为有sudo权限之后,我们可以不用知道root密码就切换到root身份(通过执行"sudo su")。在我所在的公司,后台程序员如果需要sudo权限,那么需要提申请给运维,运维负责审批。而且,申请到的sudo权限有时间限制,等结束时间一到,运维就会立即收回sudo权限,非常的抠门。

但是我的这个运维好像极不愿意把sudo权限给后台,完全不愿让你多用两天,即使你申请的是那种没有接入线上流量、专用于调试的机器的sudo权限。只要你申请的使用时间稍微长一点,他就不批准,如图所示。

运维别走,留下你的root权限

为了工作,申请sudo/root权限还被拒了?郁闷。就是因为sudo/root权限的使用时间申请得长了一点,运维就不分配权限,有点过分。于是我只好缩短sudo权限的申请时间,改为只申请3天,这次他直接就批了。这个运维,这又是何必呢!

这次sudo权限算是申请下来了,但是等这次的sudo权限的结束时间到了以后,要用root 还要再去找运维申请,我觉得这很麻烦。虽然从管理的角度看,这是很正确的事,但是我知道自己不会干坏事啊。为了不想下次再去找运维申请权限,我就在想了,可不可以把临时分配给我用3天的root权限缓存下来,不设置时间限制,让我慢慢用?这个需求可以实现吗?

稍微一想,显然可以啊。既然都把sudo 权限给我了,那我不就是root了吗,还有啥干不了的事情。而且方法有很多呢。本文根据Linux的基础知识,一下子就整理出3种方法,把root权限缓存下来慢慢用,方便自己开发,再也不用看运维脸色啦(当然,不能告诉运维)。同时,这些方法也让我深刻明白一个道理,root千万不能给不受信任的人,一秒钟都不行(我又能理解运维了)。

那么,看我是怎么缓存root权限的吧。首先,直接把root密码改掉这种事情太绝了,而且容易暴露,不是本文要介绍的方法,不能这么干。我们要的是不修改root密码并且等sudo权限过期之后,还可以切换到root的方法。

方法一:创建一个新用户,把UID设为0

这是最简单、最快的方法。Linux系统不是根据用户名来判断root用户,而是根据用户的UID是不是等于0来判断root用户的。既然我们不知道root密码,那我们就再建立一个用户,把UID设为0,这样系统里面就多出来一个我们知道密码的root用户啦。只不过这个用户的用户名不是root。登录ag平台注册|注册shell,输入命令如下:

运维别走,留下你的root权限

以上命令首先新建了一个普通用户joker,然后我们编辑/etc/passwd这个文件,把我们新创建的joker用户的UID和GID都改为0即可。

运维别走,留下你的root权限

以上设置完成之后,我们以后就用su joker命令直接切换到root用户啦。总结起来就一句话,用临时sudo权限在系统里面安插一个不知名的root间谍。这种方法的隐蔽性其实不高。运维只要多看passwd文件,发现这个奇怪的joker用户,把它删掉,我们缓存下的root就没有啦。不过,对于不勤奋工作的运维来说,即使是这么简单的方法,都已经足够了。我创建完这个用户以后,根本没人去看/etc/passwd,我的这个root用户一直长期驻留。

另外,现在很多公司的ag平台注册|注册基本都是容器或虚拟机。如果这台ag平台注册|注册实例被删除的话,那我们手动创建的用户自然也就没有咯。不过,发布war包之类的上线操作一般不会导致删除容器,所以发布完代码之后,我们的joker(root)用户还在。

方法二:在/etc/sudoers中给自己配一个权限

既然运维就是通过 sudo来管理root权限的,那我们也对sudo下手,给自己开一个永久免费的sudo权限不就好了吗。不过要注意,我们配的sudo配置文件不要被运维的sudo配置文件覆盖掉。另外,还要记得做得隐蔽点。

在Linux系统上,sudo的配置文件有/etc/sudoers这个文件,还有/etc/sudoers.d/目录下的所有文件,两个地方的文件格式相似。如果你是普通用户且是第一次执行sudo,会遇到以下提示。

运维别走,留下你的root权限

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章