Linux文件目錄的權限

 Linux是多用戶多任務的分時操作系統,如果每個人都對文件和目錄都是隨便訪問的話,難么你的文件很有可能會被他人刪除或修改,從而丟失數據。為此系統對文件增加了權限的機制來防止這種事情的發生。對文件而言,用戶被分為三類:屬主(onwer)、屬組(group)、和其他(other)。常規的權限分為:讀(r readable)、寫(w writable)、執行(x excutable)。使用ls -l 可以列出文件的權限。

[root@localhost boot]# ls -l 

total 107008

-rw-r--r--. 1 root root   126426 Nov 20  2015 config-3.10.0-327.el7.x86_64

以上為例最左邊的-為文件的類型,-表示普通文件、d表示目錄等。后面9位以三個為一種,分別代表了屬主、屬組、和其他 三個權限是 rwx。如果沒有就用-表示。文件和目錄對應的rwx權限是不一樣的。用八進制表示r=4、w=2、x=1。

管理員可以使用chmod和chown來更改用戶的權限和文件的屬主和屬組等操作。

 

對目錄來說

r:表示可以用ls命令查看此目錄下的文件列表,但它要跟目錄的x權限一起是用

w:可在此目錄中創建文件,也可刪除此目錄中的文件,也許x權限一起使用

x:目錄最基本的權限,如果沒有x目錄將無法正常使用。

對文件來說

r:可是使用文件類查看器查看。如cat、head等

w:可以對文件內容進行修改,它沒有刪除文件的權限。刪除文件的權限看父目錄是否有w的權限

x:可以把此文件提請內核啟動為一個進程 一般文件不加x權限,除二進制命令文件

chmod 更改目錄或文件的權限

權限范圍

u 屬主

g 屬組

o 其他

a 所有人

r讀取權限 數字表示 "4"

w寫入權限 數字表示 "2"

x執行權限 數字表示 "1"

s 特殊權限 

t 特殊權限

語法

chmod [OPTION]... MODE[,MODE]... FILE... 
       chmod [OPTION]... OCTAL-MODE FILE... #使用八進制模式
       chmod [OPTION]... --reference=RFILE FILE... #參照其他文件或目錄

常用選項

-c, --changes #顯示改變信息
-R, --recursive #遞歸改變,如改變目錄是,其子目錄和文件的權限一起干煸
--reference=RFILE #參數其他文件或目錄

例如

[root@localhost testdir]# ll
total 0
-rw-rw-r-- 1 root root 0 Aug  6 11:37 file #源文件權限
[root@localhost testdir]# chmod ug=rwx file #ug一起更改權限
[root@localhost testdir]# ll
total 0
-rwxrwxr-- 1 root root 0 Aug  6 11:37 file#更改結果
[root@localhost testdir]# chmod g-x file #g去掉x權限
[root@localhost testdir]# ll
total 0
-rwxrw-r-- 1 root root 0 Aug  6 11:37 file #更改結果
[root@localhost testdir]# touch file #創建空文件
[root@localhost testdir]# ll
total 0
-rw-r--r-- 1 root root 0 Aug  6 11:39 file #默認權限
[root@localhost testdir]# chmod 777 file #按八進制法更改權限
[root@localhost testdir]# ll
total 0
-rwxrwxrwx 1 root root 0 Aug  6 11:39 file #更改結果
[root@localhost testdir]# ll /etc/issue ./file #列出文件詳細信息
-rw-r--r--. 1 root root 79 Jul 26 16:27 /etc/issue
-rwxrwxrwx  1 root root  0 Aug  6 11:39 ./file
[root@localhost testdir]# chmod --reference=/etc/issue file #參照文件更改權限
[root@localhost testdir]# ll
total 0
-rw-r--r-- 1 root root 0 Aug  6 11:39 file #權限更改結果

文件和目錄的默認權限和隱藏權限

當我們創建一個新文件時,文件的權限已經分配好了,為什么會這樣呢,那就是因為與umask(遮罩碼)這個玩意有關。umask是什么呢? 基本上,umask就是指定"目前用戶在新建文件或目錄時候的權限默認值",管理員和普通用戶的umask是不一樣的。我們可以使用umask查看。目錄的默認權限等于777減去umask的022。前面的0是特殊權限位。文件的默認權限為666減去umask的022.但因為文件默認是不允許有執行權限的,所有單結果為奇數是向前進一位。

全局設置:/etc/bashrc用戶設置:~/.bashrc。

umask 用來設置限制新文件權限的掩碼

umask#   #設定掩碼
umask–S 模式方式顯示
umask–p 輸出可被調用
[root@localhost testdir]# umask #管理員的umask
0022
[linux@localhost ~]$ umask #普通用戶的umask
0002

Linux的特殊權限

  任何一個可執行程序文件能不能啟動為進程取決發起者對程序文件是否擁有執行權限。啟動為進程之后,其進程的屬主為發起者;進程的屬組為發起者所屬的組。進程訪問文件時的權限,取決于進程的發起者。

一 :SUID特殊權限能讓用戶使用文件屬主的權限來運行此命令。當有SUID權限時,文件的所有者x會替換成s權限 ,如果屬主沒有x權限將會以S報錯。 例如-rwsrwxrwx 1 root root 48568 May 11 16:59 /bin/cat  文件顏色呈紅色狀態。 使用chmod命令更改

1、SUID權限只對二進制程序有效。

2、程序執行者對于該程序來說,需要具備x的權限。

3、執行者在執行的過程中將會獲得該程序屬主的權限

[root@localhost /]# ll /usr/bin/tail #顯示tail原來的權限屬性
-rwxr-xr-x 1 root root 61496 May 11 16:59 /usr/bin/tail
[root@localhost /]# chmod 4755 /usr/bin/tail #設置SUID權限,也可u+s方式
[root@localhost /]# ll /usr/bin/tail #顯示更改后
-rwsr-xr-x 1 root root 61496 May 11 16:59 /usr/bin/tail #屬主的x權限被s占用了
[root@localhost /]# tail /etc/shadow #用tail打開shadow,默認情況下shadow只有管理員能打開。
apache:!!:17008::::::
saslauth:!!:17008::::::
postfix:!!:17008::::::
rpcuser:!!:17008::::::
nfsnobody:!!:17008::::::
gdm:!!:17008::::::
pulse:!!:17008::::::
sshd:!!:17008::::::
tcpdump:!!:17008::::::
Alan:!!:17019:0:99999:7:::

二 : SGID能讓其他用戶以文件的屬組權限來運行此命令。當有SGID權限時,文件的屬組x會替換為r權限,如果屬組沒有x權限將會以S報錯。 文件背景顏色為黃色。使用chmod命令更改

1、SGID對二進制文件有限

2、程序執行者對于該程序來說,需要具備x的權限

3、執行者在執行的過程中將會獲得該程序的屬組的權限

4、可以針對文件和目錄使用

[root@localhost /]# mkdir /testdir #創建目錄
[root@localhost /]# chmod 2757 /testdir #更改權限 包括增加GID
[root@localhost /]# su Cloud #切換到普通用戶
[Cloud@localhost /]$ cd /testdir/ #進入root創建的用戶
[Cloud@localhost testdir]$ touch file #創建空文件
[Cloud@localhost testdir]$ touch fiel2 #創建空文件
[Cloud@localhost testdir]$ mkdir dir #創建空目錄
[Cloud@localhost testdir]$ ll #顯示目錄下的文件發現組依然是root
total 0
drwxrwsr-x 2 Cloud root 6 Aug  6 14:57 dir #屬組是root
-rw-rw-r-- 1 Cloud root 0 Aug  6 14:57 fiel2
-rw-rw-r-- 1 Cloud root 0 Aug  6 14:56 file

三 :SBIT只對目錄有效,對文件卻無效,它的作用就是防止別人刪除對方的資料。心細的同學可能發現/tmp就是此類文件

1、當用戶對此目錄有w,x權限時,即具有寫入的權限時;

2、當用戶在該目錄下創建文件或目錄時,僅有子與root才有權利刪除該文件

[Cloud@localhost tmp]$ ll -d #查看tmp目錄屬性 最后為權限位t
drwxrwxrwt. 9 root root 4096 Aug  6 15:10 .
[Cloud@localhost tmp]$ mkdir dir1 dir2 #Cloud用戶創建目錄
[Cloud@localhost tmp]$ touch fi1 f2 #Cloud用戶創建文件
[Cloud@localhost tmp]$ ll #顯示詳細信息
total 0
drwxrwxr-x 2 Cloud Cloud 6 Aug  6 15:10 dir1
drwxrwxr-x 2 Cloud Cloud 6 Aug  6 15:10 dir2
-rw-rw-r-- 1 Cloud Cloud 0 Aug  6 15:10 f2
-rw-rw-r-- 1 Cloud Cloud 0 Aug  6 15:10 fi1
[root@localhost tmp]# su linux #切換其他用戶
[linux@localhost tmp]$ ll #查看目錄下文件信息
total 0
drwxrwxr-x 2 Cloud Cloud 6 Aug  6 15:10 dir1
drwxrwxr-x 2 Cloud Cloud 6 Aug  6 15:10 dir2
-rw-rw-r-- 1 Cloud Cloud 0 Aug  6 15:10 f2
-rw-rw-r-- 1 Cloud Cloud 0 Aug  6 15:10 fi1
[linux@localhost tmp]$ rm fi1 #刪除fi1
rm: remove write-protected regular empty file ‘fi1’? yes   
rm: cannot remove ‘fi1’: Operation not permitted #權限拒絕,雖然目錄有w的權限,但是加了t就無法刪除他人文件
[linux@localhost tmp]$ rm difr1#權限拒絕,雖然目錄有w的權限,但是加了t就無法刪除他人目錄
rm: cannot remove ‘difr1’: No such file or directory

原創文章,作者:ladsdm,如若轉載,請注明出處:http://www.www58058.com/29971

(0)
ladsdmladsdm
上一篇 2016-08-07 22:06
下一篇 2016-08-07 22:06

相關推薦

  • Linux的軟鏈接和硬鏈接區別

    在Linux中,為了方便文件的使用,引入了兩種鏈接,即為軟鏈接和硬鏈接。 那么什么是硬鏈接,什么又是軟鏈接呢。 簡單來說,硬鏈接就是一個inode號對應多個文件名,也就是說一個文件使用了多個別名。 首先先來看看我們要創建硬連接的文件信息: [root@localhost ~]# ll -i /root &nb…

    Linux干貨 2016-10-20
  • N25 – 第二周博客作業

      Linux上的文件管理類命令有哪些,其常用的使用方法及相關示例演示 more: more命令非常簡單,只用more file即可,但是more命令有一個特點,就是翻屏至文件尾部后自動退出 less: less命令就是在使用man時是一樣的,因為man手冊就是調用less來查看的  head: head命令用來查看文件的前#行,#默認為…

    Linux干貨 2016-12-07
  • 第一周記錄

    列出Linux的發行版,描述不同發行版之間的聯系與區別。    發行版多達100多種,其中主要的有Debian旗下的Ubuntu、knopix,Slackware旗下的S.u.S.E,RedHat公司旗下的RedHat、CentOS、Fedora。其中各個版本之間的區別:包管理器的區別;但其內核都是Linux內核。 ifconfig: 查…

    Linux干貨 2016-08-15
  • LAMP基于RPM包實現(httpd與php以fastcgi方式結合) 2

    概述:     承接上篇,本篇為介紹下利用rpm包,實現LAMP組合,其中httpd和php的結合方式為fastcgi,也就是php運行為獨立的服務,監聽的某個套接字上,接受請求,提供服務     包括LAMP安裝過程(http、php-fpm、mysql-server、php-…

    Linux干貨 2016-10-15
  • ftp的配置

    FTP服務器配置 VSFTP主配置文件路徑:/etc/vsftpd/vsftpd.conf,重要參數: anonymous_enable=yes/no 是否允許匿名用戶訪問 anon_upload_enable=yes/no 是否允許匿名用戶上傳文件 anon_mkdir_write_enable=yes/no 是否允許匿名用戶創建目錄 anon_other…

    2017-10-16
  • 馬哥教育網絡21期+第十一周練習博客(上)

    馬哥教育網絡21期+第十一周練習博客(上) 1、詳細描述一次加密通訊的過程,結合圖示最佳。 加密同性過程中使用到最重要的就是openssl     安全加密傳輸過程中要確保如下幾個環節:     保密性:數據保密性,隱私性     完整性:…

    Linux干貨 2016-09-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-07 23:11

    文章思路清晰,從權限模型到特殊權限管理都有了詳細的認識。

欧美性久久久久