linux lsattr命令: 顯示文件屬性介紹:
文件屬性在文件系統的安全管理方面起很重要的作用,linux下lsattr命令用於查看文件屬性信息。
語法:
lsattr [-adRvV] [文件或目錄...]選項介紹:
-a: 顯示所有文件和目錄,包括隱藏文件;
-d: 顯示目錄名稱,而非其內容;
-R: 遞歸處理,將指定目錄下的所有文件及子目錄一並處理;
-v: 顯示文件或目錄版本;
-V: 顯示版本信息;
執行範例:
1 $ chattr +ai text
2 $ lsattr
3 ----ia------- text
擴展閱讀:
chattr命令用於修改文件屬性,chattr命令需要root許可權。
文件屬性:
a: append only; 系統只允許在這個文件之後追加數據,不允許任何進程覆蓋或截斷這個文件。如果目錄具有這個屬性,系統將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。
c: compressed; 系統以透明的方式壓縮這個文件。從這個文件讀取時,返回的是解壓之後的數據;而向這個文件中寫入數據時,數據首先被壓縮之後才寫入磁碟。
d: no mp; 在進行文件系統備份時,mp程序將忽略這個文件。
i: immutable; 系統不允許對這個文件進行任何的修改。如果目錄具有這個屬性,那麼任何的進程只能修改目錄之下的文件,不允許建立和刪除文件。
j: data journalling; 如果一個文件設置了該屬性,那麼它所有的數據在寫入文件本身之前,寫入到ext3文件系統日誌中,如果該文件系統掛載的時候使用了」data=ordered」 或」data=writeback」選項。當文件系統採用」data=journal」選項掛載時,所有文件數據已經記錄日誌,因此這個屬性不起作用。僅僅超級用戶或者擁有CAP_SYS_RESOURCE能力的進程可以設置和刪除該屬性。
s: secure deletion; 讓系統在刪除這個文件時,使用0填充文件所在的區域。
t: no tail-merging; 和其他文件合並時,該文件的末尾不會有部分塊碎片(為支持尾部合並的文件系統使用)。
u: undeletable; 當一個應用程序請求刪除這個文件,系統會保留其數據塊以便以後能夠恢復刪除這個文件。
A: no atime updates; 告訴系統不要修改對這個文件的最後訪問時間
D: synchronous directory updates; 任何改變將同步到磁碟;這等價於mount命令中的dirsync選項:
S: synchronous updates; 一旦應用程序對這個文件執行了寫操作,使系統立刻把修改的結果寫到磁碟。
T: top of directory hierarchy; 如果一個目錄設置了該屬性,它將被視為目錄結構的頂極目錄
2. linux基礎命令之如何修改文件屬性和許可權
1:想一次修改某個目錄下所有文件的許可權,包括子目錄中的文件許可權也要修改,要使用參數-R表示啟動遞歸處理。
例如:
[root@localhost ~]# chmod 777 /home/user 註:僅把/home/user目錄的許可權設置為rwxrwxrwx
[root@localhost ~]# chmod -R 777 /home/user 註:表示將整個/home/user目錄與其中的文件和子目錄的許可權都設置為rwxrwxrwx
2:想一次修改某個目錄下所有文件的許可權,包括子目錄中的文件許可權也要修改,要使用參數-R表示啟動遞歸處理。
例如:
[root@localhost ~]# chmod 777 /home/user 註:僅把/home/user目錄的許可權設置為rwxrwxrwx
[root@localhost ~]# chmod -R 777 /home/user 註:表示將整個/home/user目錄與其中的文件和子目錄的許可權都設置為rwxrwxrwx
例如:chmod -R +x /usr/apache-tomcat-5.5.23/webapps/NEWTRADECARD 修改此目錄下所有文件及文件夾增加可執行許可權
3. Socket協議和Socket文件有什麼關系在Linux中文件屬性為S
socket文件指的是UNIX域套接字,主要用於進程間通訊,不能用於兩台不同的主機間。它通過套接字文件建立連接,連接建立後的通訊與一般的套接字通訊一樣。
4. Linux文件到底有哪些屬性,他們的含義是什麼
用ls –l 查看當前目錄下的文件時,共顯示了9列內容(用空格劃分列)。第1列,包含的東西有該文件類型和所屬主、所屬組以及其他用戶對該文件的許可權第2列,表示為鏈接佔用的節點(inode) 為目錄時,通常與該目錄底下還有多少目錄有關系。第3列,表示該文件的所屬主。第4列,表示該文件的所屬組。第5列,表示該文件的大小。第6列、第7列和第8列為該文件的最近的修改日期,分別為月份日期以及時間,也就是所謂的mtime.第9列,文件名。更多例子詳情,請關注《Linux就該這么學》這本自學手冊。
5. 我發現在顯示文件屬性時,第一個字元是「s」,它具體有什麼含義
這代表一種類型的Linux文件,是 表示該文件為套接字文件(socket),用於進程間通信。Linux許可權直接關系linux系統的安全性問題,企業的伺服器只有在處於一個安全的環境下,這樣才能持續的為客戶提供服務。因此安全是非常重要的內容,所以關於許可權的講解,書籍《Linux就該這么學》,非常的不錯,講解得清楚明了。
6. linux 中文件屬性 許可權 可讀可寫可執行 -rwx read write 這里x代表什麼
一、文件許可權解讀
如上圖所示,開頭的-rwxrw-r--這一字元串標識文件許可權。
這個字元串有10位,可以分為4段來解讀。註:r--可讀,w--可寫,x--可執行。
第一段(第1位)表示是目錄還是文件,-表示是文件,d表示是目錄;
第二段(第2-4位,共3個字元串)表示文件所屬用戶對它的許可權;
第三段(第5-7位,共3個字元串)表示文件所屬用戶組用戶對它的許可權;
第四段(第8-10位,共3個字元串)表示其他用戶對它的許可權;
註:我們用3位8進制來表示文件的許可權,r用4標識,w用2標識,x用1標識
上圖中的-rwxrw-r--可以用八進制數字764表示。
橫線代表空許可。r代表只讀,w代表寫,x代表可執行。注意這里共有10個位置。第一個字元指定了文件類型。在通常意義上,一個目錄也是一個文件。如果第一個字元是橫線,表示是一個非目錄的文件。如果是d,表示是一個目錄。
例如:
- rwx rw- r--
普通文件 文件主 組用戶 其他用戶
第一段-表示hadoop-2.6.0.tar.gz是一個普通文件;第二段rwx表示hadoop-2.6.0.tar.gz的屬主有讀寫可執行許可權;第三段rw-表示與hadoop-2.6.0.tar.gz屬主同組的用戶有讀寫許可權;第四段r--表示其他用戶只有讀許可權。
有三種不同類型的用戶可對文件或目錄進行訪問:文件所有者,同組用戶、其他用戶。所有者一般是文件的創建者。所有者可以允許同組用戶有權訪問文件,還可以將文件的訪問許可權賦予系統中的其他用戶。在這種情況下,系統中每一位用戶都能訪問該用戶擁有的文件或目錄。
每一文件或目錄的訪問許可權都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行許可權;與屬主同組的用戶的讀、寫和執行許可權;系統中其他用戶的讀、寫和執行許可權。
二、chmod,chown,chgrp命令的用法
確定了一個文件的訪問許可權後,用戶可以利用Linux系統提供的chmod命令來重新設定不同的訪問許可權。也可以利用chown命令來更改某個文件或目錄的所有者。利用chgrp命令來更改某個文件或目錄的用戶組。
下面分別對這些命令加以介紹。
chmod 命令
chmod命令是非常重要的,用於改變文件或目錄的訪問許可權。用戶用它控制文件或目錄的訪問許可權。
該命令有兩種用法。一種是包含字母和操作符表達式的文字設定法;另一種是包含數字的數字設定法。
1. 文字設定法
chmod [who] [+ | - | =] [mode] 文件名¼
命令中各選項的含義為:
操作對象who可是下述字母中的任一個或者它們的組合:
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 與其他用戶擁有一樣的許可權。
文件名:以空格分開的要改變許可權的文件列表,支持通配符。
在一個命令行中可給出多個許可權方式,其間用逗號隔開。例如:chmod g+r,o+r example
使同組和其他用戶對文件example 有讀許可權。
2. 數字設定法
我們必須首先了解用數字表示的屬性的含義:0表示沒有許可權,1表示可執行許可權,2表示可寫許可權,4表示可讀許可權,然後將其相加。所以數字屬性的格式應為3個從0到7的八進制數,其順序是(u)(g)(o)。
例如,如果想讓某個文件的屬主有「讀/寫」二種許可權,需要把4(可讀)+2(可寫)=6(讀/寫)。
數字設定法的一般形式為:
chmod [mode] 文件名¼
例子:
(1)文字設定法:
例1:$ chmod a+x sort
即設定文件sort的屬性為:
文件屬主(u) 增加執行許可權
與文件屬主同組用戶(g) 增加執行許可權
其他用戶(o) 增加執行許可權
例2:$ chmod ug+w,o-x text
即設定文件text的屬性為:
文件屬主(u) 增加寫許可權
與文件屬主同組用戶(g) 增加寫許可權
其他用戶(o) 刪除執行許可權
例3:$ chmod u+s a.out
假設執行chmod後a.out的許可權為(可以用ls – l a.out命令來看):
–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
並且這個執行文件要用到一個文本文件shiyan1.c,其文件存取許可權為「–rw-------」,即該文件只有其屬主具有讀寫許可權。
當其他用戶執行a.out這個程序時,他的身份因這個程序暫時變成inin(由於chmod命令中使用了s選項),所以他就能夠讀取shiyan1.c這個文件(雖然這個文件被設定為其他人不具備任何許可權),這就是s的功能。
因此,在整個系統中特別是root本身,最好不要過多的設置這種類型的文件(除非必要)這樣可以保障系統的安全,避免因為某些程序的bug而使系統遭到入侵。
例4:$ chmod a–x mm.txt
$ chmod –x mm.txt
$ chmod ugo–x mm.txt
以上這三個命令都是將文件mm.txt的執行許可權刪除,它設定的對象為所有使用者。
(2)數字設定法:
例1: $ chmod 644 mm.txt
$ ls –l
即設定文件mm.txt的屬性為:
-rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt
文件屬主(u)inin 擁有讀、寫許可權
與文件屬主同組人用戶(g) 擁有讀許可權
其他人(o) 擁有讀許可權
例2: $ chmod 750 wch.txt
$ ls –l
-rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
即設定wchtxt這個文件的屬性為:
文件主本人(u)inin 可讀/可寫/可執行權
與文件主同組人(g) 可讀/可執行權
其他人(o) 沒有任何許可權
chown 命令
功能:更改某個文件或目錄的屬主和屬組。這個命令也很常用。例如root用戶把自己的一個文件拷貝給用戶xu,為了讓用戶xu能夠存取這個文件,root用戶應該把這個文件的屬主設為xu,否則,用戶xu無法存取這個文件。
語法:chown [選項] 用戶或組 文件
說明:chown將指定文件的擁有者改為指定的用戶或組。用戶可以是用戶名或用戶ID。組可以是組名或組ID。文件是以空格分開的要改變許可權的文件列表,支持通配符。
該命令的各選項含義如下:
- R 遞歸式地改變指定目錄及其下的所有子目錄和文件的擁有者。
- v 顯示chown命令所做的工作。
例1:把文件shiyan.c的所有者改為wang。
$ chown wang shiyan.c
例2:把目錄/his及其下的所有文件和子目錄的屬主改成wang,屬組改成users。
$ chown - R wang.users /his
chgrp命令
功能:改變文件或目錄所屬的組。
語法:chgrp [選項] group filename¼
該命令改變指定指定文件所屬的用戶組。其中group可以是用戶組ID,也可以是/etc/group文件中用戶組的組名。文件名是以空格分開的要改變屬組的文件列表,支持通配符。如果用戶不是該文件的屬主或超級用戶,則不能改變該文件的組。
該命令的各選項含義為:
- R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。
例1:$ chgrp - R book /opt/local /book
改變/opt/local /book/及其子目錄下的所有文件的屬組為book。
7. 請問在LINUX中,文件許可權 t 和 S 分別是什麼意思
舉個例子
drxsr-x---
root
root
/temp
任何用戶在這個目錄中創建文件屬主自動變成root
sgid類似,只是變成屬組
t表示所有用戶只能動自己的文件
/tmp這個目錄就是這個屬性,所有用戶都可以在裡面讀寫、創建刪除,但是都只能動自己的
8. Linux系統中有哪幾種文件類型
第一種:普通文件。就是一般存取的文件,由ls-al顯示出來的屬性中,第一個屬性為 [-];另外,依照文件的內容,又大致分為:
1、純文本文件:這是Unix系統中最多的一種文件類型,之所以稱為純文本文件,是因為內容可以直接讀到數據,比如數字、字母等。設置文件幾乎都屬於這種文件類型。
2、二進制文件:系統其實僅認識且可以執行二進制文件。Linux中的可執行文件就是這種格式的。
3、數據格式的文件:有些程序在運行過程中,會讀取某些特定格式的文件,那些特定格式的文件也可以稱為數據文件。
第二種:目錄文件。就是目錄,第一個屬性為[d]。
第三種:連接文件。類似Windows下的快捷方式,第一個屬性為[l]。
第四種:設備文件。與系統外設及存儲等相關的一些文件,通常都集中在/dev目錄,又分為兩種。
1、塊設備文件:就是存儲數據以供系統存取的介面設備,簡單而言就是硬碟,第一個屬性為 [b]。
2、字元設備文件:即串列埠的介面設備,比如鍵盤、滑鼠等,第一個屬性為 [c]。
第五種:套接字文件:這類文件通常用在網路數據連接,可以啟動一個程序來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。第一個屬性為[s],常在
/var/run目錄中看到這種文件類型。
第六種:管道文件:FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所造成的錯誤,FIFO是first-in-first-out的縮寫,第一個屬性是[p]。
更多Linux知識,可關注「老男孩Linux」公眾號
9. linux命令如何查看文件的屬性
通過ll命令可以查看一個目錄下的文件和子目錄的屬性和大小,以下面的例子講解:
[root@localhost ~]# ll
total 88
-rw-r--r-- 1 root root 1022 Feb 13 16:07 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Feb 13 16:07 Desktop
-rw-r--r-- 1 root root 49229 Feb 13 16:07 install.log
-rw-r--r-- 1 root root 5133 Feb 13 16:06 install.log.syslog
-rw-r--r-- 1 root root 7 May 2 05:28 test
[root@localhost ~]#
我以其中一行講解:
-rw-r--r-- 1 root root 1022 Feb 13 16:07 anaconda-ks.cfg
-rw-r--r-- 1 root root 1022這些都是文件的屬性,包括文件的屬主、屬組和其他組的許可權,屬主和屬組的名稱,1022表示文件的大小,Feb 13 16:07是文件的修改時間。
至於被誰修改過是看不出來的。