国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

我刪庫跑路失敗了

2021-07-08 13:37 作者:程序員魚皮  | 我要投稿

一個 “實用” 的好命令,我不得試試?

大家好,我是魚皮。

在編程屆,有一個家喻戶曉的實用 Linux 命令:rm -rf /

據(jù)說,此命令一旦執(zhí)行成功,就會給人帶來快樂,是一個善良的好命令,所以我喜歡叫它 快樂命令 。

好吧,不裝了,其實這個命令的作用是 刪除服務(wù)器上所有的文件 !是一個極度危險的命令!

之前我們可能也聽說過很多刪數(shù)據(jù)跑路事件,其中一部分元兇正是這個命令。

記得前兩周,我剛買了一臺全新的云服務(wù)器,在給大家演示如何搭建應(yīng)用開發(fā)環(huán)境。結(jié)果沒想到,一些小伙伴竟然慫恿我當場輸入 “快樂命令”,想看看會出現(xiàn)什么效果。

這么刺激的事情,我不得試試?

于是,我打開終端,連接服務(wù)器,輸入快樂命令。而且,要做就要做得絕一點,我甚至同時開了 三個 客戶端,打算同時輸入命令,三倍快樂!

OK,起飛 ??!

但結(jié)果呢,數(shù)據(jù)并沒有被刪除,而是彈出了一個警告,禁止刪除!

對不起,結(jié)果讓大家失望了~

其實在敲這行命令之前,我就一點兒也不擔心,因為我相信騰訊云服務(wù)器不可能連這點安全保障都沒有。

那問題來了,如何防止快樂命令帶來的惡劣影響呢?

下面就簡單分享下我了解到的方法吧~

如何防止 rm -rf 命令?

方法還是挺多的,我簡單整理了一個大綱:

防止 rm -rf 大法

好習(xí)慣

首先,使用服務(wù)器最多的人肯定是我們自己,因此我們要先養(yǎng)成良好的使用習(xí)慣,保護服務(wù)器,從我做起。

定期備份

為了防止服務(wù)器上的數(shù)據(jù)(數(shù)據(jù)庫、用戶文件、配置文件等)被誤刪除,可以定期將服務(wù)器上重要的文件下載到本地或同步到其他存儲空間上,一般使用定時腳本(crontab 命令等)或工具自動定時同步。

替代命令

為了防止意外 rm 命令帶來的不利影響,我們可以盡量少用該命令,使用一些其他的命令來替代刪除。

比如 mv 命令,作用是移動文件或改名,可以自己新建一個類似回收站的目錄,然后把要刪的文件扔進去。

#?新建回收站目錄
mkdir?trash
#?移動文件到回收站
mv?file.txt?trash

針對日后可能還需要的文件,可以給文件增加 .bak 后綴,表示備份:

mv?file.txt?file.txt.bak

但是,即使養(yǎng)成了好習(xí)慣,有時候可能也會疏忽,不小心打出了 rm 命令,意外刪除了文件。

莫慌,還有其他更保險的方法。

Alias 別名

Linux 中的 alias 命令用于為指令設(shè)置別名,有點類似對象的引用。

舉個例子,本來可以用 mkdir 命令創(chuàng)建目錄,如果我覺得這個命令背不下來,那可以給他起個別名:

alias?md=mkdir

然后,我們就可以使用 md 命令來創(chuàng)建目錄了。

同理,我們可以把 rm 命令設(shè)置為其他命令的別名,從而阻止原本的刪除功能。

其實很多服務(wù)器已經(jīng)默認為我們設(shè)置了一些保護系統(tǒng)文件安全的別名,讓我們打開 .bashrc 文件:

cat?/root/.bashrc

可以看到如下代碼:

#?.bashrc

#?User?specific?aliases?and?functions

alias?rm='rm?-i'
alias?cp='cp?-i'
alias?mv='mv?-i'

系統(tǒng)已經(jīng)為 rm 命令配置了別名,當我們輸入 rm 時,實際執(zhí)行的是 rm -i,通過 -i 參數(shù)來詢問我們是否要刪除,只有輸入 y 確認后,才會執(zhí)行刪除操作。

是否確認刪除

手動回收站

基于 alias 命令,我們可以自動將 rm 命令重定向為將文件放入回收站目錄,操作如下:

首先修改 .bashrc 文件(Linux 下環(huán)境配置文件,用于保存一些個性化配置):

vim?~/.bashrc

在文件末尾追加如下代碼:

#?創(chuàng)建一個.trash?隱藏目錄
mkdir?~/.trash
#?使用別名?del?代替?rm??
alias?rm=del
#?將?rm?命令改為?mv?
del()???????????????
{??
??mv?$@?~/.trash/??
}

保存退出,然后輸入下列命令使修改生效:

source?~/.bashrc

大功告成,然后再執(zhí)行 rm 命令,就會自動移動到回收站目錄啦!

trash

除了自己手動編寫回收站腳本外,還可以使用現(xiàn)成的開源項目 trash,Mac 用戶可以直接用一行命令安裝,就可以愉快地使用了。

項目地址:https://github.com/ali-rantakari/trash

權(quán)限管理

以上的方式對于個人服務(wù)器用戶來說,一般就足夠了,但如果是團隊開發(fā),多人同時在一臺服務(wù)器上操作,就很難說誰突然刪文件跑路了對吧。

所以,最好還是對服務(wù)器上的文件進行合理的權(quán)限設(shè)置,常用的幾種方式如下。

修改文件權(quán)限

最直接的方式,直接用 chmod 命令修改指定文件的讀、寫、執(zhí)行權(quán)限,比如下列命令:

chmod?700?file.txt

作用是設(shè)置僅創(chuàng)建該文件的用戶可讀寫,其他用戶無權(quán)訪問。

chattr

Linux 系統(tǒng)自帶的 chattr 命令是 Change Attribute 的縮寫,意為改變文件的屬性,能夠用來防止文件和目錄被意外刪除或修改。

比如下列命令:

sudo?chattr?+i?file.txt

通過 +i 參數(shù)給文件追加了 “不可修改” 的屬性,該不能被刪除、改名、設(shè)定鏈接關(guān)系,同時不能寫入或新增內(nèi)容。該參數(shù)可謂是提高系統(tǒng)安全的神器!

讓我們試下效果:

果然刪除失敗了,提示操作不被允許。

如果要保護目錄,只需要加個 -R 參數(shù)就行了:

sudo?chattr?-R?+i?myDir

設(shè)置 sudo 權(quán)限

sudo 是 Linux 的常用命令,可以臨時以 root 用戶(超級管理員)的身份執(zhí)行命令。

如果給了一個普通用戶超級管理員的身份,他將能做任何事情,這是非常危險的??!

所以可以使用 visudo 命令,修改普通用戶使用 sudo 命令時的權(quán)限。

輸入 visudo,將自動進入 /etc/sudoers 文件的編輯,嘗試追加一行:

dog?localhost=/bin/rm?/file/*

這就意味著,用戶 dog 只能刪除 /file 目錄下的文件,而不能隨意刪除。

Lshell

再提一個開源的 Linux 安全神器 Lshell,可以用于構(gòu)建一個受限的 Linux 腳本執(zhí)行環(huán)境。

項目地址:https://github.com/ghantoos/lshell

一行命令安裝后,可以通過修改它的配置文件 /etc/lshell.conf,來管理用戶的行為。

比如下列配置,禁止用戶 yupi 使用 rm 命令,防止這貨刪文件跑路:

?[yupi]?allowed?=?'all'?-?['rm']

一般情況下,以上那么多種措施就足夠防護了,也比較簡單。

但最后,還是要提醒大家,不要輕易嘗試這個命令哈哈。一時好奇一時爽,明天要睡垃圾場!

最后再送大家一些 幫助我拿到大廠 offer 的學(xué)習(xí)資源,高達 6 T!

跑了,留下 6T 的資源!(https://t.1yb.co/qOJG)

我是如何通過自學(xué),拿到騰訊、字節(jié)等大廠 offer 的,可以看這篇文章,不再迷茫!

我學(xué)計算機的四年,共勉!(https://t.1yb.co/q0mS)

我是魚皮,點贊 還是要求一下的,祝大家都能心想事成、發(fā)大財、行大運。


我刪庫跑路失敗了的評論 (共 條)

分享到微博請遵守國家法律
利津县| 浏阳市| 通化市| 六盘水市| 巴马| 吉隆县| 通海县| 万盛区| 阳西县| 恩平市| 三门峡市| 潜山县| 四子王旗| 清水县| 大足县| 卢氏县| 福安市| 津南区| 独山县| 宁河县| 九寨沟县| 麟游县| 宁南县| 淳安县| 台东市| 衡阳县| 乾安县| 徐水县| 钦州市| 青浦区| 隆德县| 凤台县| 武定县| 宝清县| 九寨沟县| 宜兰县| 兰西县| 彝良县| 饶阳县| 邵阳县| 宾川县|