當(dāng)我們 chmod 777 的時(shí)候丑婿,到底干了些什么?

作者 | learning

警告:杜絕使用chmod 777没卸,尤其是在生產(chǎn)環(huán)境羹奉!

當(dāng)我們遇到各種權(quán)限問題的時(shí)候,例如Apache告訴你Permission dined约计,是不是第一時(shí)間想到chmod 777诀拭?我們知道chmod是更改權(quán)限,那么777到底是什么呢煤蚌?

Unix權(quán)限

Unix系統(tǒng)的權(quán)限分三種耕挨,分別是擁有者(Owner)、用戶組(Group)尉桩、其它用戶(Other)筒占,用ls的-l參數(shù)可以查看文件的權(quán)限。

每個(gè)項(xiàng)目前面那一串亂七八糟的字母和橫杠蜘犁,就是權(quán)限赋铝。第一位比較簡單,指的是文件類型:-代表普通文件沽瘦,d代表文件夾革骨,Unix下文件夾是特殊的文件。后面9位分三組析恋,每組就代表了對(duì)應(yīng)用戶的權(quán)限:

  • r = 4: 讀

  • w = 2: 寫

  • x = 1: 執(zhí)行

現(xiàn)在看一下上面那個(gè)圖的bin目錄良哲,它的權(quán)限是drwxr-xr-x就可以解讀為:

  • d: 這是個(gè)目錄

  • rwx: 擁有者(也就是Learning)可讀、可寫助隧、可執(zhí)行

  • r-x: 用戶組(也就是admin)可讀筑凫、可執(zhí)行滑沧、但不可寫

  • r-x: 其它用戶,跟用戶組的權(quán)限一樣

其中執(zhí)行權(quán)限有什么用呢巍实?可能有人并不知道滓技,比如我有個(gè)C語言寫的程序,編譯出來后是a.out棚潦,沒有執(zhí)行權(quán)限的話令漂,用./a.out命令是執(zhí)行不了的。shell腳本就不一樣丸边,假設(shè)我有個(gè)腳本叫install.sh叠必,這個(gè)文件沒有執(zhí)行權(quán)限,我還可以用sh install.sh執(zhí)行妹窖,但是如果加上執(zhí)行權(quán)限纬朝,./install.sh就會(huì)方便很多,還能用命令行自動(dòng)補(bǔ)全骄呼。

為什么是1共苛、2、4蜓萄?

那么權(quán)限為什么是1隅茎、2、4呢绕德?因?yàn)檫@是二進(jìn)制:

  • 1: 001

  • 2: 010

  • 4: 100

這么做最主要有兩個(gè)好處:節(jié)省空間和提升運(yùn)算效率。

Unix是上個(gè)世紀(jì)60年代末期產(chǎn)物摊阀,當(dāng)時(shí)的資源甚是寶貴耻蛇,所以,只用3個(gè)bit來保存權(quán)限胞此,是很不錯(cuò)的選擇臣咖。當(dāng)然CPU時(shí)間也是很寶貴,不可能為了權(quán)限判斷讓你耗費(fèi)那么多CPU時(shí)間漱牵,所以這種二進(jìn)制權(quán)限適合于位運(yùn)算夺蛇,位運(yùn)算是眾所周知最快的,可能大家學(xué)過卻沒怎么用過酣胀,這里用代碼做個(gè)例子:

/**
 *     0101 (5)
 * AND 0100 (4)
 *   = 0100 (4)
 */

#define READ    4

int auth = 5; // 101, 權(quán)限是讀和寫

if (auth & READ) {
  doRead(); // 有讀權(quán)限刁赦,執(zhí)行doRead()
}

這種二進(jìn)制和位運(yùn)算不只用在權(quán)限上,還用在了一些配置選項(xiàng)里闻镶,比如wxPython里也有這么用的甚脉,將多個(gè)特征分離,需要多種樣式時(shí)铆农,用位或構(gòu)造:

slider = wx.Slider(..., style=wx.SL_VERTICAL | wx.SL_AUTOTICKS | wx.SL_LABELS ) 

不用 chmod 777牺氨,還能怎么辦?

那么遇到類似Apache的Permission denied,還有什么辦法呢猴凹?

  • 檢查一下父級(jí)目錄夷狰,是不是沒有權(quán)限,就算你這個(gè)目錄權(quán)限是777郊霎,而父級(jí)目錄沒權(quán)限時(shí)沼头,也是白搭。

  • 是不是symlink歹篓?原目錄的權(quán)限如何瘫证?

  • 一般Apache或nginx的用戶和用戶組都是_www,想辦法讓_www擁有權(quán)限

最后再勸大家一句:不要再用chmod 777了

原文鏈接:[http://t.cn/RtWZPbn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末庄撮,一起剝皮案震驚了整個(gè)濱河市背捌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌洞斯,老刑警劉巖毡庆,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異烙如,居然都是意外死亡么抗,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門亚铁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蝇刀,“玉大人,你說我怎么就攤上這事徘溢⊥趟觯” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵然爆,是天一觀的道長站粟。 經(jīng)常有香客問我,道長曾雕,這世上最難降的妖魔是什么奴烙? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮剖张,結(jié)果婚禮上切诀,老公的妹妹穿的比我還像新娘。我一直安慰自己搔弄,他們只是感情好趾牧,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肯污,像睡著了一般翘单。 火紅的嫁衣襯著肌膚如雪吨枉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天哄芜,我揣著相機(jī)與錄音貌亭,去河邊找鬼。 笑死认臊,一個(gè)胖子當(dāng)著我的面吹牛圃庭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播失晴,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼剧腻,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了涂屁?” 一聲冷哼從身側(cè)響起书在,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拆又,沒想到半個(gè)月后儒旬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡帖族,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年栈源,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竖般。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡甚垦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涣雕,到底是詐尸還是另有隱情艰亮,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布胞谭,位于F島的核電站垃杖,受9級(jí)特大地震影響男杈,放射性物質(zhì)發(fā)生泄漏丈屹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一伶棒、第九天 我趴在偏房一處隱蔽的房頂上張望旺垒。 院中可真熱鬧,春花似錦肤无、人聲如沸先蒋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽竞漾。三九已至眯搭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間业岁,已是汗流浹背鳞仙。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笔时,地道東北人棍好。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像允耿,于是被迫代替她去往敵國和親借笙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容