Linux -- 文件權限

Linux -- 文件權限html

瞭解文件權限前須要先知道用戶和用戶組的概念vim

用戶:http://www.javashuo.com/article/p-bfnsibws-m.html
用戶組:http://www.javashuo.com/article/p-xxqokzki-bc.htmlbash

 

1.使用 ll -a 命令能夠查看到該目錄下全部文件的屬性,顯示的內容分別爲 [權限] [鏈接數] [全部者] [用戶組] [文件容量] [修改日期] [文件名]less

[tom@localhost ~]$ ll -a
總用量 64
drwx------  5 tom  home 4096 2月  11 10:50 .
drwxr-xr-x. 8 root root 4096 2月   1 19:42 ..
-rw-------  1 tom  home  235 2月   1 20:24 .bash_history
-rw-r--r--  1 tom  home   18 3月  23 2017 .bash_logout
-rw-r--r--  1 tom  home  176 3月  23 2017 .bash_profile
-rw-r--r--  1 tom  home  124 3月  23 2017 .bashrc
-rw-r--r--  1 tom  home 4164 2月  11 10:50 Beauty
drwxr-xr-x  2 tom  home 4096 2月  11 10:32 demo
drwxr-xr-x  2 tom  home 4096 11月 12 2010 .gnome2
-rw-r--r--  1 tom  home  632 2月  11 10:47 Hare
-rw-r--r--  1 tom  home  118 2月  11 10:37 html
-rw-r--r--  1 tom  home  136 2月  11 10:39 lesson
drwxr-xr-x  4 tom  home 4096 3月  20 2018 .mozilla
-rw-r--r--  1 tom  home   27 2月   1 19:55 .plan
-rw-------  1 tom  home 1405 2月  11 10:50 .viminfo
  • 權限中,第一個字符表明文件是目錄,文件仍是連接文件:

  [d]:目錄,如 demo 前面顯示的drwxr-xr-x,d表示 demo 是一個文件夾
  [-]:文件
  [l]:連接文件
  [b]:設備文件裏可供存儲的接口設備
  [c]:設備文件裏的串行端口設備,如鼠標,鍵盤spa

  • 第一個字符後面以三個字符爲一組,表明權限,如rwxr-xr-x,第一組rwx爲全部者的權限,第二組r-x爲同用戶組的權限,第三組r-x爲其餘人的權限

  [r]可讀權限(4),[w]可寫權限(2),[x]可執行權限(1),[-]無權限htm

  r:讀取權限,可讀取此文件的實際內容,可讀取目錄結構列表
  w:可寫權限,能夠編輯,新增或者是修改該文件的內容,能夠更改目錄結構列表,包括新增文件與目錄,刪除,重命名或者轉移等
  x:文件是否可執行,用戶是否能夠進入該目錄blog

  • 第五列爲文件的大小,默認單位爲B
  • 第七列爲文件名,若是文件名前有 . 則爲隱藏文件,使用ls -al 能夠看到隱藏文件

改變文件屬性和權限遞歸

1.chgrp 改變文件所屬用戶組接口

chgrp [-R] 用戶組名 文件或目錄,當要修改一個目錄下的全部文件的用戶組時,能夠加 -R 進行遞歸處理get

[root@localhost tom]# chgrp root Beauty 
[root@localhost tom]# ll
總用量 24
-rw-r--r-- 1 tom root 4164 2月  11 10:50 Beauty
drwxr-xr-x 2 tom home 4096 2月  11 10:32 demo
-rw-r--r-- 1 tom home  632 2月  11 10:47 Hare
-rw-r--r-- 1 tom home  118 2月  11 10:37 html
-rw-r--r-- 1 tom home  136 2月  11 10:39 lesson

2.chown 改變文件全部者

chown [-R] 用戶名 文件或目錄,當要修改一個目錄下的全部文件的全部者時,能夠加 -R 進行遞歸處理, 也能夠使用chown 全部者.用戶組(或者全部者:用戶組)文件或者目錄進行修改

[root@localhost tom]# chown root.root demo/
[root@localhost tom]# ll
總用量 24
-rw-r--r-- 1 tom  root 4164 2月  11 10:50 Beauty
drwxr-xr-x 2 root root 4096 2月  11 10:32 demo
-rw-r--r-- 1 tom  home  632 2月  11 10:47 Hare
-rw-r--r-- 1 tom  home  118 2月  11 10:37 html
-rw-r--r-- 1 tom  home  136 2月  11 10:39 lesson

3.chmod 改變權限

  • 按照權限數字賦權,權限對應的數字爲:r - 4,w - 2,x - 1

如,將文件設置爲全部者擁有讀寫和執行權限,r+w+x=4+2+1=7,同用戶組下擁有讀寫權限,r+w=4+2=6,其餘人擁有執行和讀權限,r+x=4+1=5,那麼命令寫爲:chmod 765 文件名

[root@localhost tom]# ll
總用量 24
-rw-r--r-- 1 tom  root 4164 2月  11 10:50 Beauty
[root@localhost tom]# chmod 765 Beauty 
[root@localhost tom]# ll
總用量 24
-rwxrw-r-x 1 tom  root 4164 2月  11 10:50 Beauty
  • 按照具體某一權限賦權u表明用戶,g表明用戶組,o表明其餘人,a表明全部身份,+表明加入某個權限,-表明除去某個權限,=表明設置權限

如,將文件設置爲全部者擁有讀寫和執行權限,同用戶組下擁有讀寫權限,其餘人擁有執行和讀權限,那麼命令寫爲:chmod u=rwx,g=rw,o=rx 文件名

[root@localhost tom]# ll
總用量 24
-rw-r--r-- 1 tom  home  632 2月  11 10:47 Hare
[root@localhost tom]# chmod u=rwx,g=rw,o=rx Hare 
[root@localhost tom]# ll
總用量 24
-rwxrw-r-x 1 tom  home  632 2月  11 10:47 Hare
  • 去除或者加上某個權限

如去除全部角色的讀權限:chmod a-r 文件名

[root@localhost tom]# ll
總用量 24
-rwxrw-r-x 1 tom  root 4164 2月  11 10:50 Beauty
[root@localhost tom]# chmod a-r Beauty 
[root@localhost tom]# ll
總用量 24
--wx-w---x 1 tom  root 4164 2月  11 10:50 Beauty

文件默認權限 umask

新建一個文件時默認的權限,顯示的爲應該除去的權限,如umask爲0022,後面三個數字022表明通常權限,對於全部者不去除任何權限,對於同用戶組去除2(可寫權限),對於其餘人去除2(可寫權限)。
新建文件 原:-rw-rw-rw- 按照022去除後爲:-rw-r--r--
新建文件夾 原:drwxrwxrwx 按照022去除後爲:drwxr-xr-x

[root@localhost tom]# umask
0022
設置文件默認權限 [root@localhost tom]# umask 002 [root@localhost tom]# umask 0002 [root@localhost tom]# mkdir a1 [root@localhost tom]# touch atext01 [root@localhost tom]# ll 總用量 28 drwxrwxr-x 2 root root 4096 2月 11 16:45 a1 -rw-rw-r-- 1 root root 0 2月 11 16:45 atext01

文件隱藏屬性 chattr 和 lsattr 

文件的隱藏屬性大體有:

 

1.chattr 設置文件的隱藏屬性,詳細內容可 man chattr 進行查看

+ 添加某個隱藏權限

- 除去某個隱藏權限

= 賦予某個隱藏權限

#賦予 Beauty 文件 i 權限,不能被刪除
[root@localhost tom]# chattr +i Beauty [root@hs-192-168-33-206 tom]# rm Beauty rm:是否刪除普通文件 "Beauty"?y rm: 沒法刪除"Beauty": 不容許的操做

2.lsattr 看文件的隱藏屬性

-a 查看所有(包括隱藏文件)的隱藏權限
-d 只查看目錄的隱藏權限
-R 列出子目錄的隱藏權限

查看剛剛設置的 i 權限

[root@localhost tom]# lsattr Beauty 
----i--------e- Beauty

去掉 i 權限

[root@localhost tom]# chattr -i Beauty 
[root@localhost tom]# lsattr Beauty 
-------------e- Beauty
相關文章
相關標籤/搜索