linux文件許可權
在linux中,一位用戶在創建文件和目錄時,對其具有的許可權都是一樣的,
在linux系統中任何文件/目錄都有一定的許可權,對於新創建的文件或目錄,也會有默認的訪問許可權。可能是出於安全的考慮,linux系統linux系統新建文件默認沒有執行許可權,其最大許可權為rw-rw-rw-(666),新建目錄的最大許可權為rwx-rwx-rwx(777)。而默認的許可權與umask命令有關。
、umask介紹
umask指定當前用戶在新建文件和目錄時的默認許可權,其值可以通過umask命令得到,其值的含義與chmod 命令是補碼的關系。也可以通過umask -S直接查看默認許可權。
注意:umask -S 顯示的是目錄的默認許可權>
例如:umask 0002
新建文件的許可權為(最大許可權666-002)664,即rw-rw-r--
新建目錄的許可權為最大許可權(777-002)775,即rwxrwxr-x
Ⅱ linux文件許可權命令
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創建者。所有者可以允許同組用戶有權訪問文件,還可以將文件的訪問許可權賦予系統中的其他用戶。在這種情況下,系統中每一位用戶都能訪問該用戶擁有的文件或目錄。
每一文件或目錄的訪問許可權都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行許可權;與屬主同組的用戶的讀、寫和執行許可權;系統中其他用戶的讀、寫和執行許可權。當用ls -l命令顯示文件或目錄的詳細信息時,最左邊的一列為文件的訪問許可權。例如:
$ ls-l sobsrc.tgz
-rw-r--r--1root root483997Ju1l517:3lsobsrc.tgz
r(Read,讀取,許可權值為4):對文件而言,具有讀取文件內容的許可權;對目錄來說,具有瀏覽目 錄的許可權。
w(Write,寫入,許可權值為2):對文件而言,具有新增、修改文件內容的許可權;對目錄來說,具有刪除、移動目錄內文件的許可權。
x(eXecute,執行,許可權值為1):對文件而言,具有執行文件的許可權;對目錄了來說該用戶具有進入目錄的許可權。
u 表示「用戶(user)」,即文件或目錄的所有者。
g 表示「同組(group)用戶」,即與文件屬主有相同組ID的所有用戶。
o 表示「其他(others)用戶」。
a 表示「所有(all)用戶」。它是系統默認值。
+ 添加某個許可權。
– 取消某個許可權。
= 賦予給定許可權並取消其他所有許可權(如果有的話)。
設置mode所表示的許可權可用下述字母的任意組合:
r 可讀。
w 可寫。
x 可執行。
X 只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加x 屬性。
s 在文件執行時把進程的屬主或組ID置為該文件的文件屬主。方式「u+s」設置文件的用戶ID位,「g+s」設置組ID位。
t 保存程序的文本到交換設備上。
u 與文件屬主擁有一樣的許可權。
g 與和文件屬主同組的用戶擁有一樣的許可權。
o 與其他用戶擁有一樣的許可權。
-c:若該檔案許可權確實已經更改,才顯示其更改動作
-f:若該檔案許可權無法被更改也不要顯示錯誤訊息
-v:顯示許可權變更的詳細資料
-R:對目前目錄下的所有檔案與子目錄進行相同的許可權變更(即以遞回的方式逐個變更)
–help:顯示輔助說明
–version:顯示版本
$ chmod a+x sort
$ chmod ug+w,o-x text
$ chmod u+s a.out
–rws--x--x1inin users7192Nov414:22a.out
$ chmod a–x mm.txt
$ chmod–x mm.txt
$ chmod ugo–x mm.txt
$ chmod644mm.txt
$ ls–l
-rw-r--r--1inin users1155Nov511:22mm.txt
$ chmod750wch.txt
$ ls–l
-rwxr-x---1inin users44137Nov129:22wchtxt
-c或–changes 效果類似」-v」參數,但僅回報更改的部分。
-f或–quiet或–silent 不顯示錯誤信息。
-h或–no-dereference 只對符號連接的文件作修改,而不更動其他任何相關文件。
-R或–recursive 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
-v或–verbose 顯示指令執行過程。
–help 在線幫助。
–reference=<參考文件或目錄> 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。
–version 顯示版本信息。
$chgrp-R book/opt/local/book
user : 新的檔案擁有者的使用者 ID
group : 新的檔案擁有者的使用者群體(group)
-c : 若該檔案擁有者確實已經更改,才顯示其更改動作
-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
-h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案
-v : 顯示擁有者變更的詳細資料
-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)
–help : 顯示輔助說明
–version : 顯示版本
$chownyusi yusi123.com
$ chown-R yusi.users/demo
橫線代表空許可。r代表只讀,w代表寫,x代表可執行。注意這里共有10個位置。第一個字元指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第一個字元是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。例如:
– rw- r– r–
普通文件 文件主 組用戶 其他用戶
是文件sobsrc.tgz 的訪問許可權,表示sobsrc.tgz是一個普通文件;sobsrc.tgz的屬主有讀寫許可權;與sobsrc.tgz屬主同組的用戶只有讀許可權;其他用戶也只有讀許可權。
確定了一個文件的訪問許可權後,用戶可以利用Linux系統提供的chmod命令來重新設定不同的訪問許可權。也可以利用chown命令來更改某個文件或目錄的所有者。利用chgrp命令來更改某個文件或目錄的用戶組。
下面分別對這些命令加以介紹。
chmod 命令
chmod命令是非常重要的,用於改變文件或目錄的訪問許可權。用戶用它控制文件或目錄的訪問許可權。
以主文件夾下的一個名為「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是設置文件所有者訪問許可權,第二位是設置群組訪問許可權,最低位是設置其他人訪問許可權。
其中每一位的許可權用數字來表示。具體有這些許可權:
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
該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。
1. 文字設定法
chmod [who] [+ | – | =] [mode] 文件名¼
命令中各選項的含義為:
操作對象who可是下述字母中的任一個或者它們的組合:
操作符號可以是:
文件名:以空格分開的要改變許可權的文件列表,支持通配符。在一個命令行中可給出多個許可權方式,其間用逗號隔開。例如:chmod g+r,o+r example使同組和其他用戶對文件example 有讀許可權。
例1:
即設定文件sort的屬性為:
文件屬主(u) 增加執行許可權
與文件屬主同組用戶(g) 增加執行許可權
其他用戶(o) 增加執行許可權
例2:
即設定文件text的屬性為:
文件屬主(u) 增加寫許可權
與文件屬主同組用戶(g) 增加寫許可權
其他用戶(o) 刪除執行許可權
例3:
假設執行chmod後a.out的許可權為(可以用ls – l a.out命令來看):
並且這個執行文件要用到一個文本文件shiyan1.c,其文件存取許可權為「–rw——-」,即該文件只有其屬主具有讀寫許可權。
當其他用戶執行a.out這個程序時,他的身份因這個程序暫時變成inin(由於chmod命令中使用了s選項),所以他就能夠讀取shiyan1.c這個文件(雖然這個文件被設定為其他人不具備任何許可權),這就是s的功能。
因此,在整個系統中特別是root本身,最好不要過多的設置這種類型的文件(除非必要)這樣可以保障系統的安全,避免因為某些程序的bug而使系統遭到入侵。
例4:
以上這三個命令都是將文件mm.txt的執行許可權刪除,它設定的對象為所有使用者。
2. 數字設定法
我們必須首先了解用數字表示的屬性的含義:0表示沒有許可權,1表示可執行許可權,2表示可寫許可權,4表示可讀許可權,然後將其相加。所以數字屬性的格式應為3個從0到7的八進制數,其順序是(u)(g)(o)。
例如,如果想讓某個文件的屬主有「讀/寫」二種許可權,需要把4(可讀)+2(可寫)=6(讀/寫)。
數字設定法的一般形式為:chmod [mode] 文件名¼
例1:
即設定文件mm.txt的屬性為:
文件屬主(u)inin 擁有讀、寫許可權
與文件屬主同組人用戶(g) 擁有讀許可權
其他人(o) 擁有讀許可權
例2:
即設定wchtxt這個文件的屬性為:
文件主本人(u)inin 可讀/可寫/可執行權
與文件主同組人(g) 可讀/可執行權
其他人(o) 沒有任何許可權
chgrp命令
功能:改變文件或目錄所屬的組。
語法:chgrp[選項] group filename¼
參數:
該命令改變指定指定文件所屬的用戶組。其中group可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。
該命令的各選項含義為:
– R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。
例1:
改變/opt/local /book/及其子目錄下的所有文件的屬組為book。
chown命令
功能:更改某個文件或目錄的屬主和屬組。這個命令也很常用。例如root用戶把自己的一個文件拷貝給用戶yusi,為了讓用戶yusi能夠存取這個文件,root用戶應該把這個文件的屬主設為yusi,否則,用戶yusi無法存取這個文件。
語法:chown[選項] 用戶或組 文件
說明:chown將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變許可權的文件列表,支持通配符。
參數說明:
例1:把文件yusi123.com的所有者改為yusi。
例2:把目錄/demo及其下的所有文件和子目錄的屬主改成yusi,屬組改成users。
例如:chown qq /home/qq (把home目錄下的qq目錄的擁有者改為qq用戶)
例如:chown -R qq /home/qq (把home目錄下的qq目錄下的所有子文件的擁有者改為qq用戶)
Ⅲ linux里的文件,如何設置為只讀許可權文件
需要准備的材料分別是:電腦、linux連接工具。
1、首先連接上linux主機,進入等待輸入指令的linux命令行狀態。
Ⅳ linux 文件 哪些 用戶 許可權
想要設置文件許可權,首先要確認必須使用這個文件的創建者(所有者)的賬號。
1,如果這個兩個用戶是輸入不同用戶組的,比如是用戶名為root(等同於windows的管理員賬戶),使用命令
[xuwangcheng14@root]# id root
[xuwangcheng14@root]# uid=0(root) gid=0(root) groups=0(root)
root為root用戶組。假如root為文件的創建者,另外兩個用戶分別為jees和miss,jees組別為root組,miss組別為http組,
這樣來說jees對於root是同組的,用字母g(group)表示;
miss對於root是其他組的,用戶字母o(other)表示;
root自身則用u(user)表示。
這樣就好辦了,使用chmod命令可以對 不同組別的用戶對於文件添加或者減少許可權:
x: execute(執行許可權)
r: read(讀許可權)
w: write(寫許可權)
[xuwangcheng14@root]# chmod 754 ./mydir -R
改變一個文件的許可權: chmod mode file|dir
改變所有子目錄的許可權: chmod mode dir -R (注意後面加了個-R參數 )
參數就是許可權模式 mode = 777 or 752 ,666,,, ;
mode 的三個數字,分別表示user,group,others所具有的許可權。
1 = x 執行 2 = w 寫 4 = r 讀,比如user具有所有許可權,1+2+4=7,
又比如group 具有讀 和執行許可權 1+4 =5。
這樣就能改變兩個不同用戶對同一目錄下的文件的許可權。
Ⅳ linux文件默認許可權
Linux 新建文件或文件夾的默認許可權一般為:文件夾 755,文件 644。不同的系統可能有不同的設置。
默認許可權的計算方式為:
文件夾:777 再去掉許可權掩碼中的許可權。
文件:666 再去掉許可權掩碼中的許可權。
許可權掩碼可通過 umask 命令查看。
比如用 umask 命令得到的許可權掩碼為:0022,第一個0可以不管,那麼就說明 u 不需要去掉任何許可權,g 需要去掉的許可權為 2(即 w),o 需要去掉的許可權為 2(即 w)。
那麼新建文件夾最終的默認許可權為:777 去掉 022,即 755
新建文件最終的默認許可權為:666 去掉 022,即 644
Ⅵ 如何在Linux中管理文件和文件夾的許可權
文件/目錄許可權設置命令:chmod
這是Linux系統管理員最常用到的命令之一,它用於改變文件或目錄的訪問許可權。該命令有兩種用法:
用包含字母和操作符表達式的文字設定法
其語法格式為:chmod [who] [opt] [mode] 文件/目錄名
其中who表示對象,是以下字母中的一個或組合:
u:表示文件所有者
g:表示同組用戶
o:表示其它用戶
a:表示所有用戶
opt則是代表操作,可以為:
+:添加某個許可權
-:取消某個許可權
=:賦予給定的許可權,並取消原有的許可權
而mode則代表許可權:
r:可讀
w:可寫
x:可執行
例如:為同組用戶增加對文件a.txt的讀寫許可權:
chmod g+rw a.txt
用數字設定法
而數字設定法則更為簡單:chmod [mode] 文件名
關鍵是mode的取值
用4代表r
用2代表w
用1代表x
那麼rwx r-x r- -則可以表示成為:
421 401 400
然後數字各組相加:4+2+1 4+0+1 4+0+0
也就是 7 5 4
chmod 754 test.tx
Ⅶ Linux中關於文件的x許可權
對文件而言,x表示可執行;
對於目錄而言,x表示可以進入這個目錄。
比如有一個文件a.sh,它的許可權是rw-,你是無法
使用"./a.sh"
來運行的,會提示你沒有許可權,只能用sh
a.sh的方式運行。
加上x許可權,chmod
u+x
a.sh
之後,就可以以
./a.sh
來執行這個腳本了。
Ⅷ Linux下如何設置文件夾的許可權
補充樓上的許可權部分。
一定要在 許可權數字前有個 0 。
也就是樓上的命令應該為 chmod 0700 /home/ftp
有了這個 0 ,表明這個數字是 8 進制的。
轉換為 2 進制也就是
111000000
每一個二進制數字分別對應:(1表示允許,0表示不允許)
所有者讀,寫,運行;所在組用戶讀,寫,運行;其他人讀,寫,運行
正好 9 個位置。
注意如果目錄不能運行,那就表明不能 cd 進去(目錄當然不能運行,所以他被當成了「進入」的許可權控制)
(當然總的許可權不光就這幾個位,但簡單許可權系統就是這樣的表示許可權)
Ⅸ LINUX 如何對文件分配許可權 許可權分別是什麼
寫
可執行
分別對應的是
r
w
x
如果沒有那一個許可權,用
-
代替
然後又分了三個類別的許可權,分別是:
文件所屬主
文件所屬組
其他用戶
所以你寫出來的許可權是
文件所屬者有讀和寫的許可權,文件所屬組也有讀和寫的許可權,然後其他用戶只有讀和可執行的許可權,但是沒有寫的許可權
然後再來解決一下最前的那個
-
的問題,一般普通文件就是
-
,如果是目錄的話,便是
d,還有幾個其他類型,斑駁就不在贅述了
這樣子應該能夠明白這個意思了吧
Ⅹ 在linux中,某文件的許可權為:d
在linux中d代表此文件是文件夾,-代表此文件是普通文件,l代表此文件是軟鏈接(相當於windows中的快捷方式)。
想要了解更多相關Linux當中的操作知識的,去看一下黑馬程序員的視頻,很多公開課都有實際很有深度的內容的。