Linux 文件權限

Linux 的優秀之處就在於它的多用戶、多任務的系統。Linux 通常將文件可存取訪問的身份分爲 3 個類別,分別是 owner、group、others,且 3 種身份各有 read、write、execute 等權限。

權限的三種身份

文件全部者(owner)

用戶級別的文件權限,一般爲文件的建立者,能夠經過 chown 修改文件全部者。bash

用戶組(group)

若是把用戶組比做團隊,用戶就是其中的成員,團隊中的隊員對於該文件都有相同的權限。能夠經過 chgrp 修改文件的用戶組。服務器

用戶組最有用的功能之一,就是在團隊開發資源的時候。兩個項目 project1project2 由兩個團隊開發,則分別給項目分配用戶組權限一、2,而後上司同時支持一、2 權限,即:每一個帳號均可以有多個用戶組的支持。ssh

其餘人(others)

不是文件全部者並且不屬於文件的用戶組,就是其餘人。code

文件權限

定義及查看

在服務器中執行命令如下命令,查看文件相關的信息:ip

[root@iz2zedcscvry6t0psspzswz ~]# ls -al
total 44
dr-xr-x---.  5 root root 4096 Sep  9 12:11 .
dr-xr-xr-x. 18 root root 4096 Sep  9 12:39 ..
-rw-r--r--.  1 root root   18 Dec 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 29  2013 .bashrc
drwx------   3 root root 4096 Oct 15  2017 .cache
-rw-r--r--.  1 root root  100 Dec 29  2013 .cshrc
drwxr-xr-x   2 root root 4096 Oct 15  2017 .pip
-rw-r--r--   1 root root   64 Oct 15  2017 .pydistutils.cfg
drwx------   2 root root 4096 Sep  9 12:11 .ssh
-rw-r--r--.  1 root root  129 Dec 29  2013 .tcshrc

如下示例,展現了每一列對應的含義:資源

文件權限     鏈接數  文件全部者  用戶組   文件大小  修改日期        文件名
drwxr-xr-x   2      root     root    4096    Oct 15  2017   .pip

文件權限部分,drwxr-xr-x 第一個字母表明文件類型,這裏的 d 表明目錄(directory)。d = 目錄, - = 文件, l = 連接文件(linkfile)。開發

後面以 3 個爲一組,第一組 rwx 表明文件全部者權限,第二組 r-x 表明用戶組權限,第三組 r-x 表明其餘用戶權限。it

示例中的文件,文件全部者 root 有讀寫可執行權限,root 用戶組的用戶有讀和可執行權限,其餘用戶有讀和可執行權限。pip

  • 查看文件建立或修改的具體的日期 : ls -al --full-time
  • 查看 ls 的詳細用法: man lsinfo ls

修改文件權限

  • chgrp(change group):改變文件所屬用戶組
  • chown(change owner):改變文件全部者
  • chmod(change mod):修改文件的權限

修改用戶組

chgrp [-R] dirname/filename

# 將 install.log 的用戶組修改成 users
chgrp users install.log

修改文件全部者

chown 能夠同時修改文件所屬的用戶組table

chown [-R] 帳號名稱:組名 文件或目錄

# 將 install.log 的用戶組和全部者改成 root
chown root:root install.log

改變文件權限

權重分配: r:4 w:2 r:1

# 將文件權限設置爲 -rwxr-xr

chmod 754 filename

# 設置一個可執行文件,不讓其餘人修改

chmod 755 filename # -rwxr-xr-x

符號類型改變文件權限

命令 身份 操做 文件
chmod u g o a +(加入) -(除去) =(設置) r w x 文件或目錄

身份解釋: u = user, g = group,o = other, a = all

# 讓文件擁有執行權限,但不知道原權限
chmod a+x filename

目錄與文件的權限意義

Linux 文件是否被執行由 "x" 的權限決定,跟文件名沒有絕對的關係。

文件是存放實際數據的所在,目錄主要的內容是記錄文件名列表。

文件的權限解釋

  • r:能夠讀取文件內容
  • w:能夠編輯文件內容
  • x:文件具備被系統執行的權限

目錄的權限解釋

  • r:查詢該目錄下的文件名數據(能夠用 ls)
  • w:新建、刪除、重命名、轉義
  • x:可否進入該目錄

權限的配置文件

  • 帳號信息: /etc/passwd
  • 我的的密碼:/etc/shadow
  • 組名:/etc/group
相關文章
相關標籤/搜索