天天看點

linux檔案的權限屬性與操作

1.檔案屬性檢視

ls -l filename

- rw-rw-r-- 1 kiosk kiosk 0 Oct  2 17:05 file

檔案類型 檔案權限   檔案副本個數    檔案所有人  檔案所有組 大小 最後一次被修改的時間 名字

2.檢視目錄屬性

ls -ld directoy

d rwxr-xr-x   3 kiosk kiosk     33 Aug 27 09:47 directory

類型 權限   子目錄個數 目錄所有人  目錄所有組 子檔案屬性大小 目錄中内容變化 目錄名字

3.檔案使用者組的更改

chown 使用者名稱 檔案 ##更改檔案所有人

chgrp 組名稱 檔案 ##更改檔案所有組

chown -R 使用者 目錄 ##更改目錄本身以及目錄中的子檔案的所有人

chgrp -R 組名 目錄 ##更改目錄本身以及目錄中的子檔案的所有組

4.權限種類

chmod ugo+-=rwx ##改權限

u=rwx=7 |g=rwx=7|o=rwx=7

  421

u=rw-=6 g=r--=4 o=r--=4   644

r=4

w=2

x=1

-=0

7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---

r

r權限針對檔案,表示可以檢視檔案内容

r權限針對目錄,表示可以ls 檢視目錄中存在的檔案名稱

w

w權限針對檔案,表示可以更改檔案的内容

w權限針對目錄,表示是否可以删除目錄中的子檔案或者子目錄

x

x權限對于檔案,表示是否可以開啟檔案當中記錄的程式

x權限對于目錄,表示是否可以進入目錄中

當有a/b/c遞歸三個目錄,a有讀寫,ls a可以看到b,但ls a/b看不到c,因為a沒有可執行,而 ls a/b 相當于 cd a;ls b;而a沒有可執行權限,是以看不到c

5、 stat file檢視檔案的狀态屬性

    Access: 2016-07-15 16:30:57.769375150+0800

    Modify: 2016-07-14 17:27:04.116248622+0800

    Change: 2016-07-15 16:30:51.681489283+0800

    access 檢視  modify 更改檔案内容  change更改檔案屬性

6、touch -t 199507020911.11 file  設定檔案的時間戳

7、相同磁盤分區的移動是重命名

   複制是建立

   mkdir -p westos/linux/lee  遞歸建立目錄

   cp -r test/ /westos  複制目錄及目錄裡面的内容

cp  -a :相當于-pdr,保持檔案的連接配接(d),保持檔案的屬性(p),并作遞歸處理(r)

    -p:連同檔案的屬性一起複制過去,而非使用預設屬性(備份常用)

    -i:若目标檔案存在會先詢問操作是否進行

    -r:遞歸複制,常用于目錄的複制

    -u:若目标比源檔案舊才更新

    -l:進行硬連接配接檔案的建立而非複制檔案本身

cp是一個很重要的參數,不同身份執行這個指令有不同的結果産生,尤其是-a,-p參數,對于不同參數來數說,差別很大,如密碼檔案以及

一些配置檔案,就不能直接以cp來複制,而必須加上-a,-p來完整複制檔案的參數執行才行

  8、 mv test/ /westos   (不用加r)

   ‘’強引用,如果檔案名有特殊符号,把整個檔案用引号括起來,或者用絕對路徑

   但是, touch‘-file’ 是錯的。touch ./-file是對的

   9、cat、tac、nl(顯示的時候順便輸出行号)、more、less、od(以二進制方式讀取檔案)

   10、檔案的預設權限

    檢視檔案預設權限:umask或 umask-S

    在預設檔案的屬性上,目錄與檔案是不一樣的,因為檔案一般是用于資料的記錄,是以沒有執行權限

    若使用者建立檔案則預設權限:-rw-rw-rw-

    若使用者建立目錄則預設權限:drwxrwxrwx

    要注意的是umask的分數指的是需要減掉的權限

    在預設的情況中,root的umask會拿掉比較多的屬性,root的umask預設是022,一般使用者umask為002,這是基于安全的考慮:

        則root建立檔案時:(-rw-rw-rw-)減去(-----w--w-)等于-rw-r--r--

         root建立目錄時:(drwxrwxrwx)減去(d----w--w-)等于drwxr-xr-x

        在指令行 umask 066可以修改預設權限,但當關掉shell之後,又恢複原來的,如果想長期有效

必須更改配置檔案

vim /etc/bashrc 71行是普通使用者的更改,73是超級使用者的更改

vim /etc/profile 60行是普通使用者的更改,62是超級使用者的更改

source /etc/bashrc ##重新整理bash配置

source /etc/profile ##重新整理系統配置      

7、檔案的隐藏屬性

    chattr

    參數:

        +:增加某一個特殊參數,其他原本存在參數則不動。

        -:删除某一個特殊參數,其他原本存在參數則不動。

        =:僅有後面接的參數。

    a:當設定a之後,這個檔案隻能增加資料,而不能删除也不能修改資料,隻有root才能設定這個屬性。

    i:當設定i之後,它可以讓一個檔案“不能被删除,改名,設定連接配接也無法寫入或删除資料”,隻有root能設定此方法。

    chattr +i file

    lsattr [-adR] 檔案或目錄

      -a:将隐藏檔案的屬性顯示出來

      -d:如果接的時目錄,僅列出檔案本身的屬性

      -R:連同子目錄的資料也一并列出來

8、檔案的特殊屬性:SUID,SGID,SBIT

stickyBid ###強制位

o+t ###之針對目錄,當一個目錄上有t權限時,這個目錄中的檔案隻能被檔案擁有者與root删除

t=1

chmod o+t directroy

chmod 1777 directory

sgid ###粘制位

g+s ##針對目錄,在目錄中建立的檔案都自動歸屬到目錄所在組,針對二進制檔案,檔案内記錄的程式在執行時和執行者的組身份沒有關系,而是以二進制檔案的所有組的身份執行的

當一個二進制的可執行檔案擁有sgid屬性:

SGID對二進制程式有用

程式執行者對于該程式來說,需要具備x權限

執行者在執行過程中将會獲得該程式使用者組的支援,是以檔案使用者所屬組的身份執行的,和誰發起的沒關系

當一個目錄擁有sgid屬性:

使用者對于該目錄具有r與x權限時,該使用者能夠進入此目錄

使用者在此目錄下的有效使用者,将會變成該目錄的使用者組

若使用者在此目錄下具有w權限,則使用者所建立的新檔案的使用者組與此目錄的使用者組相同,

touch 有了suid和sgid之後,在一個有sgid的目錄下建一個檔案a,a的所屬使用者是root,所屬組是student

chmod g+s file|directory

chmod 2777 file|directory

suid ###冒險位

u+s ###針對檔案,檔案記錄動作在執行時是一檔案所有人身份執行的,與是誰發起的無關

SUID權限功能:

SUID權限僅對于二進制程式有效

執行者對于該程式具有x權限

本權限僅在執行該程式的過程中(run-time)有效

執行者将具有該程式所有者的權限

chmod u+s file

chmod 4777 fileg+s

9、which尋找“執行檔案”

   whereis尋找特定的檔案

   locate,直接在後面輸入“檔案的部分名稱”後就能得到結果,但是他使用是有限制的,locate在尋找資料的時候特别快,因為

   locate時有已建立的資料庫/var/updatedb.conf這個配置檔案裡買年的資料查找到的,是以不用直接去硬碟中通路,有時資料

   庫沒有更新可能找不到,更新資料庫updatedb就可以了。

繼續閱讀