《鳥哥的linux私房菜 基礎篇》第七章讀書筆記(中)--常見檔案內容查閱命令,chattr,lsattr,SUID,SGID,SBIT,file

檔案內容查閱常見命令:

         cat 由第一行開始顯示檔案內容,沒有翻頁,直接顯示

         tac從最後一行開始顯示,是cat的倒寫,發向顯示

         nl  顯示的時候,順便輸出行號,可以對行號的顯示方式進行多種變化

         more 一頁一頁的顯示檔案內容,“空格鍵”下一頁,“b”上一頁。“/字符串”在顯示的內容當中,向下搜尋字符串這個關鍵詞;“:f”立刻顯示出文件名以及目前顯示的行數

         less  與more類似,比more多的功能是,可以利用pagedown, page up按鈕來上下翻頁,在結束的時候需要輸入:q。?字符串:向上搜尋;/字符串:詳細搜尋。n重複前一個搜尋;N反向重複前一個搜尋

         head只看頭幾行“-n number”,默認10行。number爲負數時,表示列前的所有行數,但不包括後面的100行,即最後100行不顯示

         tail  只看尾巴幾行。也有一個-n參數。-f參數表示持續偵測後面所接的檔名,要等到按下ctrl_c才結束,所以當有數據向該檔案中寫入時,就會立刻顯示出來。“tail –n +100 file”只列出100行以後的數據

         od以二進制的方式讀取檔案內容

 

         head–n 20 /etc/man.config | tail –n 10  顯示第11到第20行之間的內容

cat (concatenate,使連結)

cat[-AbEnTv]

-A  :相當於-vET的整合選項,可列出一些特殊字符而不是空白而已;

-b  :列出行號,僅針對非空白行做行號顯示,空白行不標行號!

-E  :將結尾的斷行字符 $ 顯示出來; linux的斷行字符爲$,而windows的斷行字符爲^M$

-n  :打印出行號,連同空白行也會有行號,與 -b 的選項不同;

-T  :將 [tab] 按鍵以^I(大寫i)顯示出來;

-v  :列出一些看不出來的特殊字符

 

nl [-bnw] 檔案

-b  :挃定行號挃定癿方式,主要有兩種:

     -b a :表示丌諱是否爲空行,也同樣列出行號(類似 cat -n);

     -b t :如果有空行,空癿那一行丌要列出行號(默訃值);

-n  :列出行號表示癿方法,主要有三種:

     -n ln :行號在屏幕癿最左方顯示;

     -n rn :行號在自己字段癿最右方顯示,丏丌加 0 ;

     -n rz :行號在自己字段癿最右方顯示,丏加 0 ;

-w  :行號字段癿佔用癿位數

 

Linux下文件主要的三個變動時間:

modification time (mtime); status time(ctime); access time (atime)

在ls命令使用時添加--time= ctime/atime,ls默認顯示的是mtime

 

利用分號可以同時下達幾個命令

 

touch [-acdmt] 檔案:建立一個空檔案;將某個檔案日期修訂爲目前(mtime與atime)

選項不參數:

-a  :僅修訂 access time;

-c  :僅修改檔案的時間,若該檔案不存在則不建立新檔案;

-d  :後面可以接欲修訂的日期而不用目前的日期,也可以使用 --date="日期或時間"

-m  :僅修改 mtime ;

-t  :後面可以接欲修訂的時間而不用目前的時間,格式爲[YYMMDDhhmm]

ctime一般不會改變

 

umask 指定目前用戶在建立檔案或目錄時候的權限默認值

#umask 得到數字型態的權限設定分數à四個數字,第一組是特殊權限用的。其他三組分別對應的是u,g,o,它們的數字表示沒有權限的那一項。在預設權限上減去這個值,即爲建立檔案或目錄時的權限。

#umask –S (symbolic)以符號類型的方式來顯示權限

 

默認權限:檔案爲666(必須要執行x),目錄爲777(默認爲所有權限均開放)

 

修改建立檔案或目錄的默認權限值:umask 數值。數值是你想要去掉的那個權限

在計算的時候最好不要直接將數字相減。例如預設爲666,默認的爲003,相減後爲663,多了一個x權限,而原本我們就沒有預設這個,所以用符號rwx來計算比較靠譜。

 

chattr [+-=][ASacdistu] 檔案或目錄名稱 :配置文件案隱藏屬性

+:增加某一個特殊參數,其他不變

-:移除一個特定參數,其他不變

=:設定一定,且僅有後面接的參數

a:當設定a後,這個檔案將智能增加數據,而不能刪除數據,只有root才能設定這個屬性。

i:使一個檔案不能被刪除、改名、設定連結,也無法寫入或新增資料,對系統安全性有相當大的幫助。只有root能設定此屬性。

 

lsattr [-adR] 檔案或目錄

-a:將隱藏文件的屬性頁顯示出來;

-d:如果接的是目錄,僅列出目錄本身的屬性而非目錄內的文件名

-R:連同子目錄的數據也一起列出來

 

當s這個標誌出現在檔案擁有者x權限上時,例如/usr/bin/passwd文檔的權限【-rwsr-xr-x】,此時就被稱爲Set UID,簡稱SUID的特殊權限。

 

SUID權限僅對二進制程序有效

執行者對於該程序需要具有x的可執行權限

本權限在執行該程序的過程中有效

執行者將具有該程序擁有者的權限

例子見書

 

SUID僅可用在binary program上,而不能夠用在shell script裏面。Shell script只是將很多的binary執行檔呼叫進來而已。則SUID的權限部分,還是要看shell script呼叫進來的程序的設定。SUID對目錄也是無效的。

 

當s標誌在羣組的x時爲Set GID,即SGID。它還可以用在目錄上。目錄具有SGID的特殊權限時,代表用戶在這個目錄下新建值羣組都會與該目錄的組名相同。感覺比較深奧,要全部記下來,就見書吧。

 

Sticky Bit, SBIT目前只針對目錄有效,對檔案已經沒有效果了。

當用戶甲對A目錄具有羣組或其他人的身份,並且擁有該目錄w的權限,表示甲對該目錄內任何人建立的目錄或檔案均可進行“刪除、更名、搬移”等動作。不過,如果將A目錄加上SBIT的權限項目時,則甲只能夠針對自己建立的檔案或目錄進行刪除、更名、移動等動作,而無法刪除他人的檔案。

 

數字法SUID/SGID/SBIT權限的設定

4爲SUID, 2爲SGID,1爲SBIT

要將一個檔案權限改爲-rwsr-xr-x時,由於s在用戶權利中,所以是SUID,因此在原先的755之前加上4,即chmod 4755 filename。當我們不具備x權限是,如果再設定的話,就會出現S,T這樣的大寫。

 

還可以通過符號發來處理:

chmod u=rwxs,go=x test;

chmod g+s,o+t test;   在上面的繼承上加上SGID和SBIT

 

file filename命令觀察文件類型,如輸入ASCII還是data檔案,或者binary,且其中有沒有使用到動態函式庫(share library)等信息。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章