linux如何修改權限詳解


前言

今日,同事問我,服務器上拷貝過來的tomcat,怎么執行不了./startup.sh。於是,我一想,那肯定是沒有權限的問題了。於是使用chmod命令更改了權限后,就可以執行了。項目正常啟動。我想這個問題應該很多人都會遇到,遂寫下了這篇文章。詳細的介紹一下。linux 的文件權限。本文由權限開始,會擴展到一些其他的點。

1、ls和ls -a和ls -l和ls -al的區別

看到這的讀者會問了,不是講權限嗎,怎么講起了區別。首先通過這幾個命令,了解一下區別,也可以了解到如何看一個文件的權限問題。

  • ls:顯示沒有隱藏的文件和文件夾
  • ls -a:顯示當前目錄下的所有文件和文件夾,包括隱藏的文件
  • ls -l:顯示沒有隱藏的文件和文件夾的詳細信息
  • ls -al:顯示當前目錄下的所有文件和文件夾的詳細信息

2、文件詳細信息詳解

我們隨便進入一個文件夾,執行ls -l。

  • 第1列:代表文件的類型。我們常見的是d和-。d代表是目錄文件。-代表是普通文件。其他不常見的有。l代表鏈接文件,b代表塊設備。c代表字符設備文件。
  • 第2-10列:代表該文件的權限。三個為一組。第一組代表文件所有者的權限,第二組代表同用戶組的權限,第三組代表其他用戶非本用戶組的權限。
    每組權限中的rwx,分別代表讀,寫,可執行的意思。
  • 第11列數字,圖中的1,5,3,2這列,代表有多少文件名連接到此節點。
    每個文件都會將它的權限與屬性記錄到文件系統的i-node中,不過我們使用的目錄樹卻是使用文件名來記錄,因此每個文件名就會連接到一個i-node,這個屬性記錄的就是有多少不同的文件名連接到相同的一個i-node號碼。
  • 第12列的root:所屬者用戶名
  • 第13列的root:所屬用戶組
  • 第14列:容量大小,默認為B
  • 后面為創建或修改日期,最后為文件名。

3、文件權限介紹

每一文件或目錄的訪問權限都有三組,每組用三位表示,分別為文件屬主的讀、寫和執行權限;與屬主同組的用戶的讀、寫和執行權限;系統中其他用戶的讀、寫和執行權限。
如之前的圖所示,-代表空許可,r代表只讀,w代表只寫,x代表可執行。

4、chmod命令重寫權限

該命令用於改變文件或目錄的訪問權限。
該命令有兩種寫法:1、包含字母和操作符的方式。2、包含數字的設定方式。

4.1、文字設定法

4.1.1、命令

chmod [who] [+ | - | =] [mode] 文件名

4.1.2、命令中各選項的含義
  • 操作對象who可是下述字母中的任一個或者它們的組合:
    u 表示“用戶(user)”,即文件或目錄的所有者。  
    g 表示“同組(group)用戶”,即與文件屬主有相同組ID的所有用戶。  
    o 表示“其他(others)用戶”。  
    a 表示“所有(all)用戶”。它是系統默認值。  
  • 操作符號可以是:
    +添加某個權限。
    -取消某個權限。  
    =賦予給定權限並取消其他所有權限(如果有的話)。  
  • 設置mode所表示的權限可用下述字母的任意組合:  
    r 可讀。  
    w 可寫。  
    x 可執行。  
    u 與文件屬主擁有一樣的權限。
    g 與和文件屬主同組的用戶擁有一樣的權限。
    o 與其他用戶擁有一樣的權限。
  • 文件名:以空格分開的要改變權限的文件列表,支持通配符。

在一個命令行中可給出多個權限方式,其間用逗號隔開。
例如:chmod g+r,o+r example
使同組和其他用戶對文件example 有讀權限。
例如:chmod u+x startup.sh
給當前用戶增加對startup.sh的執行權限。

4.2、數字設定法

4.2.1、命令

chmod [mode] 文件名

4.2.2、概述

我們將之前的rwx用數字進行替代。
0表示沒有權限,1表示可執行權限,2表示可寫權限,4表示可讀權限。
數字之和,即為該文件的權限。
使用文字的方式,有三組文字,數字即為3組數字之和。

4.2.3、例子

1、chmod 644 a.txt
文件屬主具有讀,寫權限,因為6=4+2。
文件組具有讀權限。
其他用戶具有讀權限。

5、chgrp命令

5.1、概述

改變文件或目錄所屬的組

5.2、命令

chgrp [選項] group filename

- R 遞歸式地改變指定目錄及其下的所有子目錄和文件的屬組。
group為用戶組id或者為/etc/group中用戶的用戶組名。如果用戶不是文件的屬主或者超級用戶,則不能改變。

5.3、例子

chgrp - R jichi /etc
將etc及etc下所有文件和目錄的屬組都改為jichi。

6、chown命令

6.1、概述

更改某個文件或目錄的屬主和屬組。

6.2、命令

chown [選項] 用戶或組 文件  
- R 遞歸式地改變指定目錄及其下的所有子目錄和文件的擁有者。  
- v 顯示chown命令所做的工作。  

6.3、例子

把文件a.txt的所有者改為jichi。
chown jichi a.txt  
把目錄/b及其下的所有文件和子目錄的屬主改成jichi,屬組改成jingdian。
chown - R jichi.jingdian /b


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM