幾(ji)分鐘讓你了解Linux下文件權限(xian)掩碼(ma)及(ji)作用(yong)
時(shi)間:2018-06-13 來源(yuan):未知
在(zai)說文件(jian)權限掩碼之(zhi)前,必須(xu)了解(jie)下(xia)(xia)linux下(xia)(xia)的(de)文件(jian)權限,比如在(zai)linux下(xia)(xia)可以通過“ls -l”命令查(cha)看文件(jian)的(de)權限,輸入后可以獲得如下(xia)(xia)顯示:
drwxrwxr-x 3 linux linux 4096 Jun 6 18:03 test
在顯示中“drwxrwxr-x”這(zhe)(zhe)十個(ge)(ge)字母中第一個(ge)(ge)字母‘d‘為文(wen)(wen)(wen)件(jian)(jian)(jian)類(lei)型表(biao)示目(mu)錄(lu),同字段還可(ke)以(yi)是‘-‘普(pu)通(tong)文(wen)(wen)(wen)件(jian)(jian)(jian)、‘c’字符設備文(wen)(wen)(wen)件(jian)(jian)(jian)、‘b’塊設備文(wen)(wen)(wen)件(jian)(jian)(jian)、‘l’連接文(wen)(wen)(wen)件(jian)(jian)(jian)、‘s’socket文(wen)(wen)(wen)件(jian)(jian)(jian)和(he)‘p’管道文(wen)(wen)(wen)件(jian)(jian)(jian)。除此(ci)之外剩(sheng)下九個(ge)(ge)字母,三(san)個(ge)(ge)一組分(fen)別表(biao)示文(wen)(wen)(wen)件(jian)(jian)(jian)所(suo)有者(zhe)(owner)對(dui)當前文(wen)(wen)(wen)件(jian)(jian)(jian)享(xiang)有的(de)權限(xian),與(yu)文(wen)(wen)(wen)件(jian)(jian)(jian)所(suo)有者(zhe)同用戶(hu)組的(de)用戶(hu)(group)對(dui)文(wen)(wen)(wen)件(jian)(jian)(jian)享(xiang)有的(de)權限(xian),其他用戶(hu)(other)對(dui)文(wen)(wen)(wen)件(jian)(jian)(jian)享(xiang)有的(de)權限(xian)。其中‘r’表(biao)示可(ke)讀、‘w’表(biao)示可(ke)寫(xie)、‘x’表(biao)示可(ke)執行如果(guo)文(wen)(wen)(wen)件(jian)(jian)(jian)類(lei)型是目(mu)錄(lu)而(er)這(zhe)(zhe)個(ge)(ge)位決定(ding)能否進入這(zhe)(zhe)個(ge)(ge)目(mu)錄(lu)。
如上文中
rwx:表示用戶所有(you)者對當(dang)前文(wen)件有(you)讀(du)寫權(quan)限(xian),可執行(xing)權(quan)限(xian)
rwx:表示用(yong)戶所有(you)者同組(zu)用(yong)戶對當前文件有(you)讀寫權限,可執行(xing)權限
r-x:表(biao)示其(qi)他用戶對當前文件有(you)讀權限,可(ke)執(zhi)行權限,沒(mei)有(you)寫權限不能修改文件
接下來我們開始說掩(yan)碼及掩(yan)碼的作用(yong)。
在系統(tong)中(zhong)創(chuang)(chuang)建(jian)文(wen)件(jian)都有一(yi)個默認權限(xian),比如創(chuang)(chuang)建(jian)普通文(wen)件(jian)可能是(shi)“-rw-rw-rw-”當然寫程序是(shi)很多時候寫成“0666”,“-rw-rw-rw-“用一(yi)個八進制數(shu)據存儲就是(shi)“0666”每個權限(xian)碼占(zhan)一(yi)位。
而權(quan)限(xian)(xian)掩碼的(de)作用(yong)是根據(ju)用(yong)戶的(de)需求屏蔽掉(diao)不希望給別(bie)人(ren)的(de)權(quan)限(xian)(xian),比如普(pu)通文(wen)件(jian)的(de)權(quan)限(xian)(xian)是“-rw-rw-rw-”,所有(you)用(yong)戶對文(wen)件(jian)都享有(you)讀(du)寫(xie)權(quan)限(xian)(xian),而這(zhe)帶來的(de)問題就是文(wen)件(jian)可以被任(ren)何人(ren)修改從而導(dao)致(zhi)文(wen)件(jian)數據(ju)被篡改導(dao)致(zhi)數據(ju)丟(diu)失。這(zhe)個時候用(yong)戶可以通過設置文(wen)件(jian)掩碼來屏蔽到(dao)本需要賦予(yu)其他用(yong)戶的(de)特定權(quan)限(xian)(xian)。
比如:
文件創建后權限是0666
文件權限掩碼是(shi)0022
文件最(zui)終(zhong)的權(quan)限是0644
即0666 | 0022 = 0644
權限(xian)掩碼在每個linux系(xi)統里都有默認值(zhi),多數為0022,當然(ran)用戶也可以自(zi)己(ji)修改權限(xian)掩碼的值(zhi)。
修改用(yong)(yong)戶權限(xian)掩(yan)碼(ma)可在自己用(yong)(yong)戶目錄下(xia)的.bashrc(ubuntu)里添(tian)加umask 0022。
貨在(zai)終(zhong)端直(zhi)接執行命(ming)令(ling)修改權限掩碼
umask 0022
實例:
umask 0
touch test1
ls -l test1

umask 0022
touch test2
ls -l test2

對比兩次(ci)運行結果,可了解umask的作用。

