檔案可存取通路的身份分為3個類别,分别是owner、group、others,這3種類别各有read、write、execute3種權限
一、使用者和使用者組
使用者身份與使用者組記錄的檔案
近來朋友幾篇文章介紹了改檔案目錄的文章. 關聯文章的位址
檔案可存取拜訪的份身分為3個别類,分别是owner、group、others,這3種别類各有read、write、execute3種限權
一、使用者和使用者組
使用者份身與使用者組記載的檔案:
1.賬戶息信:/etc/passwd
2.碼密息信:/etc/shadow
3.組名息信:/etc/group
二、檔案限權與屬性
[root@hs-uf21 etc]# ll
-rw-r--r-- 1 root root 2767 Apr 11 13:20 passwd
drwxr-xr-x 4 root root 4096 Apr 10 21:09 vmware-tools
[檔案類型和限權] [連接配接 ] [全部者][使用者組] [檔案容量] [ 修改間時 ] [檔案名]
第一列“-rw-r--r--” 共10個字元,表現檔案的類型和限權,詳細如下:
- rw- r-- r--
d rwx r-x r-x
[檔案類型][全部者限權][同使用者組的限權][非本使用者組的限權]
檔案類型明說:
[d] :表現目錄;
[-] :表現一般檔案;
[l] :表現連接配接檔案(linkfile);
[b] :表現裝置檔案面裡的可供存儲的接口裝置;
[c] :表現裝置檔案面裡的串行端口裝置,如鍵盤、滑鼠。
檔案限權明說:
[r] :表現可讀(read);
[w] :表現可寫(write);
[x] :表現可行執(execute);
第二表列現有多少個檔案名連接配接到此節點(i-node)
第三表列現這個檔案(或目錄)的全部者賬号
第四表列現這個檔案(或目錄)的所屬使用者組
第五表列現這個檔案的容量巨細,默許位單為B
第六表列現這個檔案的建創日期或者是近來的修改日期
第七表列現這個檔案的檔案名,如果檔案名之前多一個“.”,則表現這個檔案為“隐藏檔案”。
三、檔案限權與屬性的修改
參數:
[-R] :行進遞歸(recursive)的續持動變,也即連同子目錄下的全部檔案、目錄都更新成這個用組之間,常用在動變某一目錄内全部的檔案情況。
1.chgrp:變改檔案所屬使用者組
文法:chgrp [-R] GROUP dirname/filename
将檔案etc.tar地點所屬的使用者組改到dba:
[root@hs-uf21 ~]# chgrp dba etc.tar
[root@hs-uf21 ~]# ll
-rw-r--r-- 1root dba 48885760 Apr 19 22:39 etc.tar
2.chown:變改檔案全部者
文法:chown[-R] USER[:/.GROUP] dirname/filename
[-R] :行進遞歸(recursive)的續持動變,也即連同子目錄下的全部檔案、目錄都更新成這個用組之間,常用在動變某一目錄内全部的檔案情況。
将檔案etc.tar的全部者和所屬組為改oracle和dba
[root@hs-uf21 ~]# chown oracle:dba etc.tar
-rw-r--r-- 1 oracle dba 48885760 Apr 19 22:39 etc.tar
注意:chown可以同時動變檔案的全部才群組名,面上的作操這樣作操,[root@hs-uf21 ~]# chown oracle.dbaetc.tar,即使用者名群組名之前可以用“.”來替代“:”。
3.chmod:變改檔案的限權
檔案可存取拜訪的份身分為3種,分别是user、group、others,每種份身的檔案權又可以分為三類:r(read)、w(write)、x(execute),同時也可以用數字來代表,分别為:r = 4、w = 2、x = 1。是以變改限權的方法可以分為:數字類型和符号類型
數字類型變改檔案限權
文法:chmod [-R] [限權] 檔案或者目錄
參數:[限權]為rwx的數字表現,詳細如下
user = rwx =4+2+1 = 7
group = rwx = 4+2+1 = 7
others = rwx= 4+2+1 = 7
給檔案install.log的全部者予賦讀寫行執的限權
[root@hs-uf21 ~]# chmod 700install.log
-rwx------ 1root root 59020 Apr 10 20:32 install.log
給檔案install.log的全部者予賦讀和寫的限權,同級使用者和非同組使用者予賦讀的限權
[root@hs-uf21 ~]# chmod 644install.log
-rw-r--r-- 1root root 59020 Apr 10 20:32 install.log
符号類型變改檔案限權
文法:chmod [-R] [限權作操] 檔案或者目錄
參數:[限權作操]詳細為置設每種份身的限權作操,不同份身之間的限權置設用逗号離隔。
份身類型:u(user)、g(group)、o(others)、a(all)
作操類型:+(加增限權)、-(删除限權)、=(置設限權)
限權類型:r(read)、w(write)、x(execute)
給檔案install.log的全部者予賦讀、寫、行執的限權,同級使用者和非同組使用者予賦讀和行執的限權
[root@hs-uf21 ~]# chmod u=rwx,go=rxinstall.log
-rwxr-xr-x 1root root 59020 Apr 10 20:32 install.log
給檔案install.log的全部者、同級使用者、非同組使用者予賦讀和寫的限權
[root@hs-uf21 ~]# chmod a=rwinstall.log
-rw-rw-rw- 1root root 59020 Apr 10 20:32 install.log
取消檔案install.log同級使用者、非同組使用者的寫的限權
[root@hs-uf21 ~]# chmod go-winstall.log
注意:如果要給目錄及了目錄下的全部檔案予賦限權,可以應用-R參數。
四、檔案與目錄的限權
1.檔案限權的意思
r(read):可取讀此檔案的現實内容。
w(write):可以輯編、新增或者是修改該檔案的内容(但可不以删除該檔案)。
x(execute):該檔案可以被系統行執的限權。
每日一道理
一個安靜的夜晚,我獨自一人,有些空虛,有些凄涼。坐在星空下,擡頭仰望美麗天空,感覺真實卻由虛幻,閃閃爍爍,似乎看來還有些跳動。美的一切總在瞬間,如同“海市蜃樓”般,也隻是刹那間的一閃而過,當天空變得明亮,而這星星也早已一同退去……
注意:對于檔案的“rwx”限權,要重都是針對“檔案内容”說來的,與檔案名的存在死心踏地否沒有關系,因為檔案記載的是現實的據數。
2.目錄限權的意思
r(read):表現擁有取讀目錄結構表列的限權,即可以查詢該目錄下的檔案名據數。
w(write):表現擁有動變目錄結構表列的限權,即建新新的檔案與目錄、删除經已存在的檔案與目錄(不論該檔案的限權為何)、将經已存在的檔案或者目錄行進重命名、轉移該目錄内的檔案、目錄、位置。
x(execute):表現使用者是否進入該目錄成為以後工作目錄。
在oracle的根目錄下建創一個目錄files,并取該目錄的全部限權:
[root@hs-uf21 oracle]# mkdir files
[root@hs-uf21 oracle]# ll
drwxr-xr-x 2root root 4096 Apr 20 19:41 files
[root@hs-uf21 oracle]# chown -R oracle.oinstall files
drwxr-xr-x 2oracle oinstall 4096 Apr 20 19:41files
[root@hs-uf21 oracle]# chmod a-rwx files
d--------- 2oracle oinstall 4096 Apr 20 19:41files
用oracle使用者進入、看查files目錄,以及在files目錄建創新的檔案都市提示限權足不:
[oracle@hs-uf21 ~]$ oracle
[oracle@hs-uf21 ~]$ ll
[oracle@hs-uf21 ~]$ cd files
-bash: cd: files: Permission denied
[oracle@hs-uf21 ~]$ ll files
ls: files: Permission denied
[oracle@hs-uf21 ~]$ touch ./files/test.txt
touch: cannot touch `./files/test.txt': Permissiondenied
給目錄files予賦可行執的限權,此時可以進入該目錄,但是可不以建創新檔案,也可不以ls看查該目錄下的檔案表列:
[oracle@hs-uf21 ~]$ chmod 100 files
d--x------ 2oracle oinstall 4096 Apr 20 19:41files
[oracle@hs-uf21 files]$ touch test.txt
touch: cannot touch `test.txt': Permission denied
給目錄files予賦可寫和可行執的限權,此時可以行進該目錄,也可以建創新檔案,但可不以應用ls看查該目錄下的檔案表列:
[oracle@hs-uf21 ~]$ chmod 300 files
d-wx------ 2oracle oinstall 4096 Apr 20 19:41files
[oracle@hs-uf21 files]$ ls
ls: .: Permission denied
給目錄files予賦可讀、可寫和可行執的限權,此時對該目錄下全部檔案行進各種作操:
[oracle@hs-uf21 ~]$ chmod 700 files
[oracle@hs-uf21 files]$ ll
total 0
-rw-r--r-- 1oracle oinstall 0 Apr 20 19:54 test.txt
五、目錄置配
FHS(Filesystem Hierarchy Standard)标準個每特定的目錄下該應要放置什麼子樣的據數。
FHS據依檔案系統應用的頻仍與否與是不是答應使用者意随修改,将目錄定義成四種互動應用的态形,如下:
1.可分享的:可以分享給其它系統挂載應用的目錄
2.可不分享的:自己呆闆上行運的裝置檔案或者是與程式有關的socket檔案等。
3.可動變的:經常變改的據數,例如登入檔案等。
4.可不動變的:有些據數是不會經常動變的,跟随着distribution面不動變。
事實上FHS針對目錄樹架構僅定義出三層目錄下該應放置什麼據數,如下:
1./(root,根目錄):與開機系統相幹;
2./usr(UNIX Software Resource):與軟體安裝、行執相幹;
3..var(variable):與系統運作程過相幹。
根目錄(/)的意思與内容
根目錄與開機、原還、系統修複等作操有關,其它全部的目錄都是由根目錄衍生出來的,同時目錄(/)全部的分區越小越好,且該應程式所安裝的軟體最好不要與根目錄放在同一個内,如此不但性能較好,根目錄地點檔案系統也不容易生發題問。FHS定義的根目錄下該應存在的了目錄如下:
[/bin ]:放置系統行執檔案的目錄
[/boot ]:放置系統開機會應用的檔案,包括Linux核心檔案以及開機菜單與開機所需置配檔案等
[/dev ]:在Linux系統上,任何裝置與接口裝置都是以檔案的式形存在于這個目錄當中的
[/etc ]:系統要重的置配檔案幾乎都放置在這個目錄
[/home ]:系統默許的使用者主檔案夾
[/lib ]:放置系統在開機是要需用到的函數庫,以及在/bin或者/sbin面下的令命會調用的函數庫
[/media]:放置可以删除的裝置,包括盤軟、CD光牒、DVD等裝置都時暫挂載與此。
[/opt ]:放置第三方軟體的目錄,也可以放置在/usr/local面下
[/root ]:系統管理者(root)的主檔案夾
[/sbin ]:放置系統開機程過中要需的令命,包括開機、修複、原還系統等令命。
[/srv ]:可以視為service的縮寫,是一些網絡服務動啟後之,這些服務要需取勝的據數目錄。如www、ftp等。
[/tmp ]:一般使用者或者是正在行執的程式時暫寄存檔案的地方,這個目錄任何使用者都可以拜訪。
[/prod ]:這個目錄是一個虛拟檔案系統,它放置的據數都是在記憶體當中的,例如系統核心、程進、外部裝置的态狀及網絡态狀等。
[/sys ]:這個目錄也是一個虛拟檔案系統,平要重記載核心相幹的息信。
作操系統軟體源資(/usr)的意思與内容
據依FHS的基本定義,/usr面裡寄存可分享與可不動變的據數是作操系統相幹的軟體,而不使用者的據數,因為系統默許的軟體都放置在/usr面下,這個目錄有點相似windows系統下有“C:\Windows”和“C:\Program files”這兩個目錄。系統剛安裝畢完時,這個目錄占用的空間大最。/usr的子目錄一般如下:
[/usr/src ]:放置源代碼
[/usr/bin ]:放置一般使用者可以應用的令命,與/bin(開機程過相幹的令命)不同。
[/usr/lib ]:包括各應用軟體的函數庫、目标檔案、以及不被一般使用者習用的行執檔案或者本腳。
[/usr/local ]:系統管理者在本機安裝的第三方軟體
[/usr/sbin ]:非系統正常行運所要需的系統令命。
[/usr/share ]:放置共享檔案
[/usr/include]:C/C++等程式語言的頭檔案與包括檔案
[/usr/X11R6 ]:放置XWindow系統要重據數。
/var的意思與内容
/var目錄要重放置常态性動變的檔案,包括緩存、登入檔案、以及某些軟體行運程過所生産的檔案。/var目錄見常的子目錄如下:
[/var/lock ]:放置檔案源資或者裝置的鎖
[/var/log ]:放置登入檔案
[/var/run ]:某些程式或者服務動啟後,會将它們的IID放置在這個目錄下。
[/var/spool]:放置一些列隊據數
[/var/cache]:應用程式本身行運程過生産的一些暫存檔案。
文章結束給大家分享下程式員的一些笑話語錄:
開發時間
項目經理: 如果我再給你一個人,那可以什麼時候可以完工?程式員: 3個月吧!項目經理: 那給兩個呢?程式員: 1個月吧!
項目經理: 那100呢?程式員: 1年吧!
項目經理: 那10000呢?程式員: 那我将永遠無法完成任務.