自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

運(yùn)維別走,留下你的root權(quán)限

開發(fā) 前端 新聞
作為互聯(lián)網(wǎng)公司的后臺(tái)程序員,我們知道,線上服務(wù)器要給用戶提供穩(wěn)定、可靠、快速的Web服務(wù),所以公司一般都會(huì)把線上服務(wù)器隔離,設(shè)置防火墻,限制內(nèi)網(wǎng)及辦公網(wǎng)絡(luò)對這些服務(wù)器的訪問。

[[279910]]

作為互聯(lián)網(wǎng)公司的后臺(tái)程序員,我們知道,線上服務(wù)器要給用戶提供穩(wěn)定、可靠、快速的Web服務(wù),所以公司一般都會(huì)把線上服務(wù)器隔離,設(shè)置防火墻,限制內(nèi)網(wǎng)及辦公網(wǎng)絡(luò)對這些服務(wù)器的訪問。

運(yùn)維別走,留下你的root權(quán)限

公司對線上服務(wù)器做限制之后,內(nèi)外網(wǎng)都只能訪問這些服務(wù)器的對外服務(wù)端口,例如http服務(wù)的80端口或REST服務(wù)的8080端口,而其他所有端口一律都會(huì)被防火墻攔截(ping端口除外)。我們無法ssh登錄到這些線上服務(wù)器從而修改配置、排查問題等。

幸運(yùn)的是,雖然辦公網(wǎng)絡(luò)不能直接連接到線上服務(wù)器,但是公司還是提供了跳板機(jī)(jumper)來供我們使用。畢竟線上服務(wù)是可能出問題的,如果出問題,必然需要連接到服務(wù)器排查。這個(gè)跳板機(jī)相當(dāng)于辦公網(wǎng)絡(luò)與線上服務(wù)器之間的一座橋梁。辦公電腦先連接到跳板機(jī),然后再讓跳板機(jī)連接線上服務(wù)器,你在跳板機(jī)上執(zhí)行的操作都會(huì)被記錄,公司要求這樣間接連到服務(wù)器,從而監(jiān)控你在服務(wù)器上的操作。

運(yùn)維別走,留下你的root權(quán)限

我們用辦公電腦連接到跳板機(jī),然后再連接服務(wù)器,這樣問題貌似都解決了、可以去診斷問題了。且慢!我們還發(fā)現(xiàn)自己的賬號(hào)只是普通用戶,沒有root權(quán)限,很多事情依然做不了。例如,需要使用root權(quán)限才能修改catalina.sh中的某些JVM選項(xiàng)。所以需申請root權(quán)限。

關(guān)于root權(quán)限,每家公司都有自己的規(guī)定。不知道其他公司是怎么規(guī)定的,我所在的公司為了不讓root密碼泄露出去,只提供sudo權(quán)限的申請渠道,絕不直接提供root密碼給程序員。因?yàn)橛衧udo權(quán)限之后,我們可以不用知道root密碼就切換到root身份(通過執(zhí)行"sudo su")。在我所在的公司,后臺(tái)程序員如果需要sudo權(quán)限,那么需要提申請給運(yùn)維,運(yùn)維負(fù)責(zé)審批。而且,申請到的sudo權(quán)限有時(shí)間限制,等結(jié)束時(shí)間一到,運(yùn)維就會(huì)立即收回sudo權(quán)限,非常的摳門。

但是我的這個(gè)運(yùn)維好像極不愿意把sudo權(quán)限給后臺(tái),完全不愿讓你多用兩天,即使你申請的是那種沒有接入線上流量、專用于調(diào)試的機(jī)器的sudo權(quán)限。只要你申請的使用時(shí)間稍微長一點(diǎn),他就不批準(zhǔn),如圖所示。

運(yùn)維別走,留下你的root權(quán)限

為了工作,申請sudo/root權(quán)限還被拒了?郁悶。就是因?yàn)閟udo/root權(quán)限的使用時(shí)間申請得長了一點(diǎn),運(yùn)維就不分配權(quán)限,有點(diǎn)過分。于是我只好縮短sudo權(quán)限的申請時(shí)間,改為只申請3天,這次他直接就批了。這個(gè)運(yùn)維,這又是何必呢!

這次sudo權(quán)限算是申請下來了,但是等這次的sudo權(quán)限的結(jié)束時(shí)間到了以后,要用root 還要再去找運(yùn)維申請,我覺得這很麻煩。雖然從管理的角度看,這是很正確的事,但是我知道自己不會(huì)干壞事啊。為了不想下次再去找運(yùn)維申請權(quán)限,我就在想了,可不可以把臨時(shí)分配給我用3天的root權(quán)限緩存下來,不設(shè)置時(shí)間限制,讓我慢慢用?這個(gè)需求可以實(shí)現(xiàn)嗎?

稍微一想,顯然可以啊。既然都把sudo 權(quán)限給我了,那我不就是root了嗎,還有啥干不了的事情。而且方法有很多呢。本文根據(jù)Linux的基礎(chǔ)知識(shí),一下子就整理出3種方法,把root權(quán)限緩存下來慢慢用,方便自己開發(fā),再也不用看運(yùn)維臉色啦(當(dāng)然,不能告訴運(yùn)維)。同時(shí),這些方法也讓我深刻明白一個(gè)道理,root千萬不能給不受信任的人,一秒鐘都不行(我又能理解運(yùn)維了)。

那么,看我是怎么緩存root權(quán)限的吧。首先,直接把root密碼改掉這種事情太絕了,而且容易暴露,不是本文要介紹的方法,不能這么干。我們要的是不修改root密碼并且等sudo權(quán)限過期之后,還可以切換到root的方法。

方法一:創(chuàng)建一個(gè)新用戶,把UID設(shè)為0

這是最簡單、最快的方法。Linux系統(tǒng)不是根據(jù)用戶名來判斷root用戶,而是根據(jù)用戶的UID是不是等于0來判斷root用戶的。既然我們不知道root密碼,那我們就再建立一個(gè)用戶,把UID設(shè)為0,這樣系統(tǒng)里面就多出來一個(gè)我們知道密碼的root用戶啦。只不過這個(gè)用戶的用戶名不是root。登錄服務(wù)器shell,輸入命令如下:

運(yùn)維別走,留下你的root權(quán)限

以上命令首先新建了一個(gè)普通用戶joker,然后我們編輯/etc/passwd這個(gè)文件,把我們新創(chuàng)建的joker用戶的UID和GID都改為0即可。

運(yùn)維別走,留下你的root權(quán)限

以上設(shè)置完成之后,我們以后就用su joker命令直接切換到root用戶啦??偨Y(jié)起來就一句話,用臨時(shí)sudo權(quán)限在系統(tǒng)里面安插一個(gè)不知名的root間諜。這種方法的隱蔽性其實(shí)不高。運(yùn)維只要多看passwd文件,發(fā)現(xiàn)這個(gè)奇怪的joker用戶,把它刪掉,我們緩存下的root就沒有啦。不過,對于不勤奮工作的運(yùn)維來說,即使是這么簡單的方法,都已經(jīng)足夠了。我創(chuàng)建完這個(gè)用戶以后,根本沒人去看/etc/passwd,我的這個(gè)root用戶一直長期駐留。

另外,現(xiàn)在很多公司的服務(wù)器基本都是容器或虛擬機(jī)。如果這臺(tái)服務(wù)器實(shí)例被刪除的話,那我們手動(dòng)創(chuàng)建的用戶自然也就沒有咯。不過,發(fā)布war包之類的上線操作一般不會(huì)導(dǎo)致刪除容器,所以發(fā)布完代碼之后,我們的joker(root)用戶還在。

方法二:在/etc/sudoers中給自己配一個(gè)權(quán)限

既然運(yùn)維就是通過 sudo來管理root權(quán)限的,那我們也對sudo下手,給自己開一個(gè)永久免費(fèi)的sudo權(quán)限不就好了嗎。不過要注意,我們配的sudo配置文件不要被運(yùn)維的sudo配置文件覆蓋掉。另外,還要記得做得隱蔽點(diǎn)。

在Linux系統(tǒng)上,sudo的配置文件有/etc/sudoers這個(gè)文件,還有/etc/sudoers.d/目錄下的所有文件,兩個(gè)地方的文件格式相似。如果你是普通用戶且是第一次執(zhí)行sudo,會(huì)遇到以下提示。


我遇到這個(gè)提示的時(shí)候,還以為這是運(yùn)維設(shè)置的,嚇一跳。后來才知道,每個(gè)Linux系統(tǒng)都有上面的提示信息。執(zhí)行sudo后,如果沒有權(quán)限,提示是下面這樣的:

運(yùn)維別走,留下你的root權(quán)限

所以,我們在/etc/sudoers.d/目錄下新建一個(gè)空白文件,例如joker,按照以下格式編輯,給自己用戶開一個(gè)sudo權(quán)限。

運(yùn)維別走,留下你的root權(quán)限

第一個(gè)字段是自己的用戶名;第二個(gè)字段標(biāo)識(shí)允許遠(yuǎn)程登錄的機(jī)器名,寫ALL就好了;第三個(gè)字段是允許切換到的用戶名,寫ALL就是允許切換到所有用戶;第四個(gè)字段是允許執(zhí)行的命令,寫ALL允許執(zhí)行所有命令。這個(gè)文件寫好保存以后,權(quán)限自動(dòng)開通。如果覺得輸入密碼也麻煩,可以這樣寫:

運(yùn)維別走,留下你的root權(quán)限

方法三:修改su的配置

在Linux系統(tǒng)上,要想切換到root,最先想到的是su命令。Linux默認(rèn)允許任何用戶執(zhí)行su,但是需要知道目標(biāo)用戶的密碼。有沒有不輸入密碼,允許普通用戶切換到root的方法呢?

分析su的man手冊之后,我發(fā)現(xiàn)su是通過調(diào)用PAM模塊來取得用戶身份的,并且su調(diào)用PAM的時(shí)候使用了一個(gè)策略配置文件,即/etc/pam.d/su。如果不修改這個(gè)配置文件(運(yùn)維也沒有動(dòng)過的話),根據(jù)默認(rèn)配置,如果我們的用戶屬于admin用戶組或者wheel用戶組,那么就可以不輸入密碼就可以切換到root的權(quán)限。因此,解決方案來了,即把我們的用戶加入admin或wheel用戶組。

先打開/etc/group,看一下用戶組是admin還是wheel。

運(yùn)維別走,留下你的root權(quán)限

在我的系統(tǒng)上,用戶組是wheel,于是運(yùn)行

運(yùn)維別走,留下你的root權(quán)限

加入了wheel用戶組之后,我這個(gè)用戶不用輸入密碼也能su切換到root啦。前面說過,默認(rèn)情況下,PAM允許admin/wheel用戶組的用戶取得root用戶身份。這是建立在 /etc/pam.d/su 這個(gè)文件沒有被運(yùn)維修改的前提之上的。假如是個(gè)狡猾的運(yùn)維,把這里改掉了,那么加入admin/wheel的方法就行不通了。

運(yùn)維別走,留下你的root權(quán)限

上圖就是一個(gè)"狡猾"運(yùn)維,把那兩行注釋掉了。不過,既然沒有刪掉,臨時(shí)拿到root權(quán)限的我們直接還原就好了。

運(yùn)維別走,留下你的root權(quán)限

從此以后,我不找運(yùn)維也有root權(quán)限了,會(huì)不會(huì)被人發(fā)現(xiàn)?

結(jié)束語:假如你們公司的運(yùn)維也不肯給root權(quán)限,而且還時(shí)不時(shí)拒絕sudo申請,又或者是只允許你使用sudo很短的一段時(shí)間,那么可以嘗試本文介紹的這3個(gè)方法。這些方法實(shí)現(xiàn)了只要運(yùn)維給你用一次sudo,即使只允許執(zhí)行一次,那也就是給你永久root。非常不錯(cuò)。

 

責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2013-03-29 09:15:08

IT運(yùn)維運(yùn)維人員運(yùn)維工程師

2014-03-06 18:11:20

男運(yùn)維女運(yùn)維DBA

2018-09-21 09:15:39

2015-08-05 22:34:33

運(yùn)維技術(shù)

2015-05-26 09:35:29

運(yùn)維運(yùn)維危機(jī)云計(jì)算應(yīng)用

2016-06-14 10:03:45

運(yùn)維 架構(gòu)

2019-03-15 10:13:10

運(yùn)維云計(jì)算運(yùn)營

2020-07-21 15:53:18

戴爾

2020-06-17 08:02:37

運(yùn)維容器云原生

2020-06-17 08:53:19

云計(jì)算運(yùn)維云原生

2016-12-13 13:15:49

運(yùn)維

2014-11-28 11:02:22

云智慧

2019-03-19 08:41:38

Linux運(yùn)維變更

2017-12-15 09:20:20

IT運(yùn)維順豐

2010-01-21 22:19:25

網(wǎng)絡(luò)優(yōu)化運(yùn)維管理摩卡軟件

2016-09-23 10:05:11

運(yùn)維架構(gòu)師前景

2015-08-27 14:04:41

運(yùn)維IT

2021-08-30 15:41:13

Kafka運(yùn)維數(shù)據(jù)

2011-11-24 21:59:55

運(yùn)維企業(yè)外包

2016-11-25 17:51:48

華為ICT
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)