偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

程序員都想,卻不敢做的事?我來!

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

[[408734]]

本文轉(zhuǎn)載自微信公眾號(hào)「程序員魚皮」,作者魚皮。轉(zhuǎn)載本文請(qǐng)聯(lián)系程序員魚皮公眾號(hào)。

大家好,我是魚皮。

在編程屆,有一個(gè)家喻戶曉的實(shí)用 Linux 命令:rm -rf / 。

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

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

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

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

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

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

OK,起飛 ??!

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

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

其實(shí)在敲這行命令之前,我就一點(diǎn)兒也不擔(dān)心,因?yàn)槲蚁嘈膨v訊云服務(wù)器不可能連這點(diǎn)安全保障都沒有。

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

下面就簡(jiǎn)單分享下我了解到的方法吧~

如何防止 rm -rf 命令?

方法還是挺多的,我簡(jiǎn)單整理了一個(gè)大綱:

防止 rm -rf 大法

好習(xí)慣

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

定期備份

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

替代命令

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

比如 mv 命令,作用是移動(dòng)文件或改名,可以自己新建一個(gè)類似回收站的目錄,然后把要?jiǎng)h的文件扔進(jìn)去。

  1. # 新建回收站目錄 
  2. mkdir trash 
  3. # 移動(dòng)文件到回收站 
  4. mv file.txt trash 

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

  1. mv file.txt file.txt.bak 

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

莫慌,還有其他更保險(xiǎn)的方法。

Alias 別名

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

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

  1. alias md=mkdir 

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

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

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

  1. cat /root/.bashrc 

可以看到如下代碼:

  1. # .bashrc 
  2. User specific aliases and functions 
  3.  
  4. alias rm='rm -i' 
  5. alias cp='cp -i' 
  6. alias mv='mv -i' 

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

是否確認(rèn)刪除

手動(dòng)回收站

基于 alias 命令,我們可以自動(dòng)將 rm 命令重定向?yàn)閷⑽募湃牖厥照灸夸?,操作如下?/p>

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

  1. vim ~/.bashrc 

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

  1. # 創(chuàng)建一個(gè).trash 隱藏目錄 
  2. mkdir ~/.trash 
  3. # 使用別名 del 代替 rm   
  4. alias rm=del 
  5. # 將 rm 命令改為 mv  
  6. del()                
  7. {   
  8.   mv $@ ~/.trash/   

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

  1. source ~/.bashrc 

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

trash

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

項(xiàng)目地址:https://github.com/ali-rantakari/trash

權(quán)限管理

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

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

修改文件權(quán)限

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

  1. chmod 700 file.txt 

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

chattr

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

比如下列命令:

  1. sudo chattr +i file.txt 

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

讓我們?cè)囅滦Ч?/p>

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

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

sudo chattr -R +i myDir

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

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

如果給了一個(gè)普通用戶超級(jí)管理員的身份,他將能做任何事情,這是非常危險(xiǎn)的啊!

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

輸入 visudo,將自動(dòng)進(jìn)入 /etc/sudoers 文件的編輯,嘗試追加一行:

  1. dog localhost=/bin/rm /file/* 

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

Lshell

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

項(xiàng)目地址:https://github.com/ghantoos/lshell

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

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

  1. [yupi] 
  2. allowed = 'all' - ['rm'

一般情況下,以上那么多種措施就足夠防護(hù)了,也比較簡(jiǎn)單。

但最后,還是要提醒大家,不要輕易嘗試這個(gè)命令哈哈。一時(shí)好奇一時(shí)爽,明天要睡垃圾場(chǎng)!

 

責(zé)任編輯:武曉燕 來源: 程序員魚皮
相關(guān)推薦

2017-11-29 14:18:09

面試程序員工程師

2013-07-17 18:00:02

程序員禁忌程序員錯(cuò)誤程序員bug

2009-03-26 09:22:05

2015-05-15 10:09:09

程序員

2015-08-19 09:10:37

程序員面試

2013-11-01 17:24:39

程序員命名

2019-08-08 10:51:14

程序員代碼項(xiàng)目

2013-07-24 14:17:10

2011-07-05 11:08:05

程序員

2011-08-29 17:05:55

2012-09-18 10:05:51

程序員我的歌聲里程序員的歌

2021-02-20 13:55:35

程序員計(jì)算機(jī)技術(shù)

2012-05-11 09:13:28

程序員開發(fā)者

2021-03-22 08:58:23

程序員產(chǎn)品經(jīng)理

2009-06-02 13:43:04

程序員定義職場(chǎng)

2013-06-08 14:12:13

程序員招聘

2010-03-02 10:13:56

程序員面試

2015-09-01 11:17:53

2012-06-25 10:05:10

程序員

2012-05-25 10:54:24

程序員
點(diǎn)贊
收藏

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