linux修改文件夾、文件目錄權限 大全

具體linux修改文件夾-文件目錄權限就是這樣設置的了. 1.文件的權限: 文件所屬用戶 所屬用戶組 其它用戶 權限有: 讀:read 數字表示爲4:110(4是100);寫:write 數字表示爲2:10(2是010) ;執行:execute 數字表示爲:1(1是001) 所以: 000 001 010 011 100 101 110 111 分別對應是0 1 2 3 4 5 6 7

文件的屬主和屬組
文件的屬主和文件的屬組是通過chown命令來定義的,當創建一個文件或者目錄的時候,系統默認爲創建用戶爲屬主

 

QUOTE:
# ls ?l httpd.conf
-rwxr-xr-x 1 root  admin 348Array0  10月1Array 20:17  httpd.conf


在這裏 root 就是文件的屬主   admin 文件的屬組
格式: chown [所有者]:[屬組] file  
例: #chown root:admin httpd.conf
----------------------------
文件目錄的存取權限
當創建一個文件的時候,系統保存了有關該文件的全部信息,包括:

 

QUOTE:
文件模式(mode),佔Array位
文件類型(type),佔一位
文件連接位數(count)
文件屬組(group)
文件屬主(user)
以字節計的文件長度(size)
文件最後更改時間(time)
文件名(name)
符號連接(s_link)

一 文件類型(type)
Linux支持的文件類型主要包括一下7類,箭頭右面的字符就是相應的文件類型位標誌:
   1、-  -------------- 普通文件
   2、d  -------------- 目錄文件
   3、l   -------------- 符號連接
   4、c  -------------- 字符設備文件
   5、b  -------------- 塊設備文件
   6、命名管道FIFO
     7、套接口socket
1、普通文件:就是普通文件,你用’vi myfile’建立的myfile就是普通文件,比如可執行二進制代碼   文件、ASCII文本文件、數據文件、配置文件等等
2、目錄文件:目錄可以理解成放其它文件和其它目錄的容器,是一種特殊文件,其內容由目錄項組成
3、設備文件:
Linux下的設備文件分爲三大類:字符設備、塊設備和網絡設備
a.字符設備是直接讀取的,不使用緩衝區,象串行口、終端等
b.塊設備都是通過緩衝區 進行讀取的,並且每次只能讀取一定數量的塊,比如磁盤每次至少要讀取一個扇區(如512字節),塊設備可以實現隨機讀寫
c.網絡設備主要存放在/dev目錄下,可以 ls -l 查看下都有什麼
---------------------------------
二 文件模式
lrwxr-xr-x  這是該文件的權限位
第一個l
:指定文件類型,表示該文件是一個符號連接文件。(所創建的文件絕大多數都是普通文件或符號鏈接文件)除去最前面的橫槓,一共是Array個字符,他們分別對應Array
個權限位。通過這些權限位,可以設定用戶對文件的訪問權限。我們把權限位分爲3個部分: 文件屬主. 屬組用戶. 其他用戶

 

QUOTE:
前三位:rwx:它的所有者是root,即就是文件所有者,它對這個文件的權限是讀寫執行
中間三位:r-x:表示admin組中其它用戶對這個文件的權限是讀和執行
後面位:r-x:就是即不是所有者,也不是屬組的對文件的權限是讀和執行


通過chmod命令可以改變用戶對相應文件的存取權限,權限的算法如下
| 8  7  6 | 5  4  3 | 2  1  0 |
|------|------|------|
| r  w  x |  r  -  x  |  r  -  x |
|------|------|------|
1 1 1 ---1 0 1---1 0 1  =  755
(有權限看作是 1  沒有權限看作是 0 這樣3組2進制可以算出權限位)
這樣我們就可以給文件加我們需要的權限

 

QUOTE:
# chmod 755 httpd.conf


Chmod命令的格式:chmod [mode] file
在設定權限的時候,還可以按照下面查出與文件屬主、屬組用戶和其他用戶所具有的權限相對應的數字,並把它們加起來,就是相應的權限表示可以看出,文件屬主、屬組用戶和其他用戶分別所能夠具有的最大權限值就是7

 

QUOTE:
4 0 0 文件屬主可讀
2 0 0 文件屬主可寫
1 0 0 文件屬主可執行
0 4 0 屬組用戶可讀
0 2 0 屬組用戶可寫
0 1 0 屬組用戶可執行
0 0 4 其他用戶可讀
0 0 2 其他用戶可寫
0 0 1 其他用戶可執行




 

QUOTE:
文件屬主:r w x:4 + 2 + 1
屬組用戶:r w x:4 + 2 + 1
其他用戶:r w x:4 + 2 + 1


例:剛纔httpd.conf權限位是rwxr-xr-x,那我們根據上面可以算出權限爲755

 

QUOTE:
文件屬主:4+2+1=7
屬組用戶:4+0+1=5
其他用戶:4+0+1=5


一般用戶默認建立文件權限是664 建立目錄權限是775
很多配置文檔上都有說給文件加執行權限,然後是
chmod a+x filename  最初不明白什麼意思,只是照做,這裏簡單說下吧
當我們執行# chmod a+x filename 的時候,意思是對此文件所以用戶都有執行權限
同樣我們執行# chmod a-x filename 是把文件的執行權限去掉,對所有用戶
用戶的定義:u 所有者   g 屬組  o 其它用戶  a 所有用戶
權限的定義:r 讀  w 寫 x 執行
例:我們要讓aaa.txt文件對它所在組所有用戶都有執行權限,那麼我們可以執行

 

QUOTE:
# chmod g+x aaa.txt


----------------------------------
三 連接數
文件的連接計數域表明本系統中共有幾個文件目錄項的節點和本文件相同,也就是本文件共有幾個硬連接
那麼對於目錄,目錄的計算同樣表示共有多少個目錄項指向此目錄

 

QUOTE:
# ls ?l /home
drwxr-xr-x 5 root root 40Array6 4月 18 16:57 home


大家看到/home目錄的屬性連接數是5,那麼home目錄下就包含了3個子目錄
爲什麼不是5個呢,因爲還有home本身,和上級目錄,也就是當我們在home目錄
下執行ls -al 時,看到的 .   ..

 

QUOTE:
.
..
drwx------    1 hlj      hlj
        40Array6  4月 15 14:23 aaa
drwxr-xr-x   1 root     root
       40Array6  4月 16 18:4Array bbb
drwx------    Array pub      pub
        40Array6  4月 13 21:22 ccc


-----------------------------------
四 文件的屬主和屬組
這裏就是說明本文件是屬於那個用戶和那個用戶組,不同的屬主和不同的屬組對文件的操作權限也是不同的.

 

QUOTE:
# ls ?l httpd.conf
-rwxr-xr-x 1 root  admin 348Array0  10月1Array 20:17  httpd.conf


如果我們是以aaa用戶登陸,而aaa是屬於admin組,那麼aaa用戶對文件的操作權限只有讀和執行權限.如果是root用戶登陸,那對文件的操作權限就是讀,寫,執行.
---------------------------------
五 符號連接
符號連接是一種獨立的文件類型,它有自己的數據區,但數據區的內容只是一個被它指向的文件的路徑名.前面那節的例子說明文件httpd.conf是一個指
向file.txt
文件的符號連接,如果我們執行httpd.conf,系統自動將它指向的文件而不是執行httpd.conf文件本身,也就是說打開的文件是
file.txt.
建立符號連接和建立硬連接一樣使用ln命令
格式: ln ?s [源文件] [目標文件]

 

QUOTE:
# ln ?s /home/file.txt /home/httpd.conf


這裏就類似與windows下的快捷方式,目標文件只是做了一個文件路徑的指向.

 

Linux、Fedora、Ubuntu修改文件、文件夾權限的方法差不多。很多人開始接觸Linux時都很頭痛Linux的文件權限問題。這裏告訴大家如何修改Linux文件-文件夾權限。以主文件夾下的一個名爲“cc”的文件夾爲例。

下面一步一步介紹如何修改權限:
1.打開終端。輸入”su”(沒有引號)

2.接下來會要你輸入密碼,輸入你的root密碼。

3.假設我的文件夾在主目錄裏,地址爲 /var/home/dengchao/cc 。假設我要修改文件權限爲777,則在終端輸入 chmod 777 /var/home/userid/cc

文件夾的權限就變爲了777。

如果是修改文件夾及子文件夾權限可以用 chmod -R 777 /var/home/userid/cc

具體的權限(例如777的含意等)在下面解釋下:
1.777有3位,最高位7是設置文件所有者訪問權限,第二位是設置羣組訪問權限,最低位是設置其他人訪問權限。

其中每一位的權限用數字來表示。具體有這些權限:

r(Read,讀取,權限值爲4):對文件而言,具有讀取文件內容的權限;對目錄來說,具有瀏覽目 錄的權限。

w(Write,寫入,權限值爲2):對文件而言,具有新增、修改文件內容的權限;對目錄來說,具有刪除、移動目錄內文件的權限。

x(eXecute,執行,權限值爲1):對文件而言,具有執行文件的權限;對目錄了來說該用戶具有進入目錄的權限。

2.首先我們來看如何確定單獨一位上的權限數值,例如最高位表示文件所有者權限數值,當數字爲7時,7用“rwx”表示–{4(r)+2(w)+1(x)=7}–

又如果數值爲6,則用“rw-”表示–{4(r)+2(w)+0(x)=6}–,”-”表示不具備權限,這裏表示不具備“執行”權限。

假如我們設定其他用戶的訪問權限爲 “r–”,則數值爲4+0+0=4

一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則用1表示,沒有則有0表示,那麼rwx則可以表示成爲:111

而二進制的111就是7。

3.我們再來看下怎麼確定3個數位上的權限。假如我們要給一個文件設置權限,具體權限如下:

文件所有者有“讀”、“寫”、“執行”權限,羣組用戶有“讀”權限,其他用戶有“讀”權限,則對應的字母表示爲”rwx r– r–“,對應的數字爲744

一般都是最高位表示文件所有者權限值,第二位表示羣組用戶權限,最低位表示其他用戶權限。

下面來舉些例子熟悉下。

權限 數值
rwx rw- r– 764
rw- r– r– 644
rw- rw- r– 664

具體linux修改文件夾-文件目錄權限就是這樣設置的了.

 

1.文件的權限:

文件所屬用戶 所屬用戶組 其它用戶

權限有:

讀:read 數字表示爲4:110

寫:write 數字表示爲2:10

執行:execute 數字表示爲:1

0 1 10 11 110 111 1110 1111

0 1 2 3 4 5 6 7

具體解釋

1: 1 可執行

2:10 可寫

3. 11=10+1 可寫可執行

4. 100 可讀

5. 101=100+1 可讀可執行(5=4+1)

6. 110=100+10 可讀可寫(6=4+2)

7. 111=100+10+1 可讀可寫可執行(7=4+2+1)

2.權限的查看:

ls -lmore/less

文件和目錄的權限表示,是用rwx這三個字符來代表所有者、用戶組和其他用戶的權限。有時候,字符似乎過於麻煩,因此還有另外一種方法是以數字來表示權限,而且僅需三個數字。

r: 對應數值4

w: 對應數值2

x:對應數值1

-:對應數值0

數字設定的關鍵是mode的取值,一開始許多初學者會被搞糊塗,其實很簡單,我們將rwx看成二進制數,如果有則有1表示,沒有則有0表示,那麼rwx r-x r- -則可以表示成爲:

111 101 100

再將其每三位轉換成爲一個十進制數,就是754。

例如,我們想讓a.txt這個文件的權限爲:

自己 同組用戶 其他用戶

可讀 是 是 是

可寫 是 是

可執 行

那麼,我們先根據上表得到權限串爲:rw-rw-r,那麼轉換成二進制數就是110 110 100,再每三位轉換成爲一個十進制數,就得到664,因此我們執行命令:

[root@localhost ~]# chmod 664 a.txt

按照上面的規則,rwx合起來就是4+2+1=7,一個rwxrwxrwx權限全開放的文件,數值表示爲777;而完全不開放權限的文件“---------”其數字表示爲000。下面舉幾個例子:

-rwx:等於數字表示700。

 

-rwxr—r:等於數字表示744。

-rw-rw-r-x:等於數字表示665。

drwx—x—x:等於數字表示711。

drwx:等於數字表示700。

在文本模式下,可執行chmod命令去改變文件和目錄的權限。我們先執行ls -l 看看目錄內的情況:

[root@localhost ~]# ls -l

總用量 368

-rw-rr 1 root root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-rrr 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到當然文件conkyrc.sample文件的權限是644,然後把這個文件的權限改成777。執行下面命令

[root@localhost ~]# chmod 777 conkyrc.sample

然後ls -l看一下執行後的結果:

[root@localhost ~]# ls -l

總用量 368

-rwxrwxrwx 1 root root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-rrr 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到conkyrc.sample文件的權限已經修改爲rwxrwxrwx

如果要加上特殊權限,就必須使用4位數字才能表示。特殊權限的對應數值爲:

s或 S (SUID):對應數值4。

s或 S (SGID):對應數值2。

t或 T :對應數值1。

code

用同樣的方法修改文件權限就可以了

例如:

code

[root@localhost ~]# chmod 7600 conkyrc.sample

[root@localhost ~]# ls -l

總用量 368

-rwSST 1 root root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-rrr 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

加入想一次修改某個目錄下所有文件的權限,包括子目錄中的文件權限也要修改,要使用參數-R表示啓動遞歸處理。

 

例如:

[root@localhost ~]# chmod 777 /home/user 注:僅把/home/user目錄的權限設置爲rwxrwxrwx

[root@localhost ~]# chmod -R 777 /home/user 注:表示將整個/home/user目錄與其中的文件和子目錄的權限都設置爲rwxrwxrwx

文件與目錄不僅可以改變權限,其所有權及所屬用戶組也能修改,和設置權限類似,用戶可以通過圖形界面來設置,或執行chown命令來修改。

我們先執行ls -l看看目錄情況:

[root@localhost ~]# ls -l

總用量 368

-rwxrwxrwx 1 root root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-rrr 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

可以看到conkyrc.sample文件的所屬用戶組爲root,所有者爲root。

執行下面命令,把conkyrc.sample文件的所有權轉移到用戶user:

[root@localhost ~]# chown user conkyrc.sample

[root@localhost ~]# ls -l

總用量 368

-rwxrwxrwx 1 user root 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-rrr 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

要改變所屬組,可使用下面命令:

[root@localhost ~]# chown :users conkyrc.sample

[root@localhost ~]# ls -l

總用量 368

-rwxrwxrwx 1 user users 12172 8月 15 23:18 conkyrc.sample

drwxr-xr-x 2 root root 48 9月 4 16:32 Desktop

-rrr 1 root root 331844 10月 22 21:08 libfreetype.so.6

drwxr-xr-x 2 root root 48 8月 12 22:25 MyMusic

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth0

-rwxr-xr-x 1 root root 9776 11月 5 08:08 net.eth1

-rwxr-xr-x 1 root root 512 11月 5 08:08 net.lo

drwxr-xr-x 2 root root 48 9月 6 13:06 vmware

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章