linux 許可權的設定與檢視 chmod 與 ls -l 等相關命令
本文為轉載文章 出處:http://blog.csdn.net/sinchb/article/details/11746427
本文著重介紹與Linux檔案許可權相關等問題,比如使用者與使用者組,檔案許可權,檔案預設許可權和檔案特殊許可權等。
Linux 為什麼需要那麼多的許可權限制呢?其實這些都是為了“安全起見”啊!如果你的Linux系統裡存了你給心上人寫的情書,或者是某亞洲島國的動作大片,你總不希望誰都可以翻翻看吧?!好了,廢話少收,讓我們一起來看看Linux檔案許可權到底是什麼東東!
1.檔案所有者
對於檔案來說,訪問該檔案的賬號的身份有三類:檔案所有者(owner),檔案所屬的使用者組(group),以及使用者組外的其他人(others)。由於本文著重介紹檔案許可權,這些概念簡單介紹,不做全面闡述。.1檔案所有者(owner)
這個就不用解釋了吧?不過還是有些注意點,檔案剛剛建立的時候,檔案所有者是建立檔案的使用者,但是檔案所有者是可以通過chown來改變的!這個後面會介紹到。
2使用者組(group)
檔案所在使用者組,使用者組的概念請自行百度之!使用者組和使用者的關係好比家庭裡你家人和你的關係。注意,檔案所有者的賬號可能不屬於該使用者組。
.3其他人(others)
除了使用者組和檔案所有者的之外的其他訪問者統稱為others,也就是你家庭以外的人!
除了這三種賬號以外,還有就是那個超級賬號root,這是個無所不能的賬號!你可以暫時把他當做你家所在村的村長,管著這個村的各個家庭(group),
2.Linux檔案許可權的概念
.1Linux檔案許可權概念
Linux系統內檔案的三種身份(擁有者、群組與其他人),知道每種身份都有三種許可權(rwx)、有上面介紹我們可以知道一個檔案的訪問者有三種身份:owner(user),group,others。而檔案許可權也有三種,即:可讀,可寫,可執行許可權。簡寫為 r,w,x,分別是read,write,execute的縮寫。那麼排列組合一下,一個檔案就會有多大9種的許可權(實際上更多!後面會介紹!):owner的許可權r,w,x,group的許可權rwx,以及others的許可權rwx。這些許可權分別限制了這三種使用者是否對該檔案擁有可讀和(或)可寫和(或)可執行的許可權。
2.2 檢視Linux檔案的許可權
- [[email protected] linux]# touch test -->建立一個空檔案!
- [[email protected] linux]# ls -al -->顯示檔案屬性!
- 總用量 8
- drwxr-xr-x. 2 root root 4096 12月 11 22:36 .
- dr-xr-x---. 37 root root 4096 12月 11 22:32 ..
- -rw-r--r--. 1 root root 0 12月 11 22:36 test
簡短標註:
-rw-r--r--. 1 root root 0 12月 11 22:36 test
檔案型別和許可權 i-node連線數 所有者 所屬使用者組 檔案大小 檔案ctime或者mtime 檔名
我們可以看到檔案有非常多的屬性(其實還有很多!)這裡著重介紹第一列,因為他們表示了該檔案的檔案許可權!
我們將第一列表示檔案型別和許可權的十個字元抽出來單獨分析,可以分為三組:
- rw- r-- r--
第一組 第二組 第三組 第四組
第一組一個字元,表示檔案的型別,[-]代表是一般檔案,[d]代表是目錄,[l]代表連結檔案。
第二組3個字元,表示檔案所有者的許可權。這3個字元從左到右分別表示該身份對檔案許可權 是否可讀? 是否可寫?是否可執行? 出現rwx相應的字母就表示有相應的許可權,出現 - 則表示沒有相應的許可權。例如,test檔案所有者的許可權是rw-,表示該檔案所有者對檔案具有可讀可寫許可權,但是不具有可執行許可權。
第三組3個字元表示所屬使用者組的許可權,格式同上。test檔案只具有可讀許可權。
第四組3個字元表示others的許可權,格式同上。test檔案只具有可讀許可權
3.改變檔案許可權和屬性的方法
3.1.改變檔案屬性的方法
chown [-R] dir/file 改變檔案的所有者,加上-R則連同子目錄下的所有檔案和目錄都更新
例:將test檔案的檔案所有者從root,改為Cherish
- [[email protected] linux]# ll test
- -rw-r--r--. 1 root root 0 12月 11 22:36 test
- [[email protected] linux]# chown Cherish test
- [[email protected] linux]# ll test
- -rw-r--r--. 1 Cherish root 0 12月 11 22:36 test
chgrp [-R] dir/file 改變檔案所屬使用者組,加上-R則連同子目錄下的所有檔案和目錄都更新
例:將test檔案的使用者組從root ,改為Cherish
- [[email protected] linux]# ll test
- -rw-r--r--. 1 Cherish root 0 12月 11 22:36 test
- [[email protected] linux]# chgrp Cherish test
- [[email protected] linux]# ll test
- -rw-r--r--. 1 Cherish Cherish 0 12月 11 22:36 test
3.2.改變檔案許可權(chmod)
(1)數字型別許可權
使用數字來代表各個許可權,以便將三種許可權(r,w,x)量化為數字,對照表如下
r -> 4
w->2
x->1
每種身份(owner,group,others)的許可權的數字表示是他擁有的許可權所對應的數字的和。比如,檔案test的檔案擁有者Cherish對該檔案的許可權為 rw-即,可讀可寫,則量化為數字為:4(r) + 2(w) = 6,按照這種演算法,檔案test的許可權如下:
owner = rw- = 4 + 2 = 6
group = r-- = 4 + 0 + 0 = 4
others = r-- = 4 + 0 + 0 = 4
這樣的話,我們就可以用一個三位數來表示一個檔案的許可權啦!例如,test檔案的許可權是644!這樣我們就可以方便的利用數字來設定一個檔案的許可權了。
例如,我們如果想將檔案test分享給所有人,那麼我們可以將該檔案的許可權設定為 rwxrwxrwx,計算數字許可權得 777,那麼我們可以這樣做:
chomd [-R] abc dir/file abc就代表那個三位的數字許可權啦!
- [[email protected] linux]# chomd [-R] abc dir/file
- [[email protected] linux]# ll test
- -rw-r--r--. 1 Cherish Cherish 0 12月 11 22:36 test
- [[email protected] linux]# chmod 777 test
- [[email protected] linux]# ll test
- -rwxrwxrwx. 1 Cherish Cherish 0 12月 11 22:36 test
(2)符號型別許可權
數字許可權雖然簡潔,但是卻不直觀。Linux給我們提供了另外一種直觀的符號型別許可權設定方法!
由前面介紹你可以知道,檔案有owner(也就是user),group,others三種身份,我們分別用 u,g,o來分別代表著三種身份,用a同時代表三種身份,用r,w,x代表三種許可權,用+,-,=三種符號分別代表新增,去除以及設定某種或某些許可權的動作。那麼我們就可以用這幾種字元組合來靈活直觀的設定檔案許可權啦!下面這個圖其實是偷了鳥哥的,希望他老人家不要生氣!
chmod | u g o a |
+(新增) -(去除) =(設定) |
r w x |
dir/file |
下面我們就舉幾個例子!
將test檔案的檔案許可權設定為rwxrw-r--
- [[email protected] linux]# chmod u=rwx,g=rw,o=r test
- [[email protected] linux]# ll test
- -rwxrw-r--. 1 root root 0 12月 12 09:39 test
將test檔案的others的 r 許可權去掉!
- [[email protected] linux]# chmod o-r test
- [[email protected] linux]# ll test
- -rwxrw----. 1 root root 0 12月 12 09:39 test
我們看到test的others的r許可權真的消失了!
我們再來將test 檔案的 x 許可權賦予所用身份:
- [[email protected] linux]# chmod a+x test
- [[email protected] linux]# ll test
- -rwxrwx--x. 1 root root 0 12月 12 09:39 test
另外還有其他靈活的設定方式,如:
- [[email protected] linux]# chmod u=--- test
- [[email protected] linux]# ll test
- ----rwx--x. 1 root root 0 12月 12 11:41 test
- [[email protected] linux]# chmod g= test
- [[email protected] linux]# ll test
- ---------x. 1 root root 0 12月 12 11:41 test
4.檔案的預設許可權和許可權掩碼
4.1檔案的預設許可權
檔案和目錄建立的時候,都會有一個預設的許可權。
如果建立的是檔案, 那麼預設許可權為 rw-rw-rw
如果建立的是目錄,則預設許可權為 rwxrwxrwx
我們可以建立一個檔案看看:
- [[email protected] linux]# touch test1
- [[email protected] linux]# ll test1
- -rw-r--r--. 1 root root 0 12月 12 10:09 test1
- [[email protected] linux]# mkdir testdir
- [[email protected] linux]# ll -d testdir
- drwxr-xr-x. 2 root root 4096 12月 12 10:09 testdir
4.2檔案許可權掩碼(unmask)
- [[email protected] linux]# umask -->掩碼的數字表示,我們只關注後三位數,第一位數後面會講到!
- 0022
- [[email protected] linux]# umask -S -->掩碼的字元表示(<span style="font-family:新細明體, 'Times New Roman', serif;font-size: 15px;">Symbolic</span>)
- u=rwx,g=rx,o=rx
注意,umask 並沒有給出真正的預設許可權,檔案預設許可權要經過umaks的處理才行!umask的意義就是遮蔽掉預設許可權中的某些許可權。
4.2.1數字形態的掩碼
數字形態的掩碼告訴我們要去掉的許可權。比如上面的022(暫時只關注後三位數)代表檔案預設許可權需要拿掉group和others的w許可權(因為w許可權的數字表示是2!):
檔案:預設許可權(rw-rw-rw) - 許可權掩碼(----w--w-) = 真正的預設許可權(rw-r--r--)
明白了嗎?目錄的處理方式也一樣,請讀者自行計算。這裡我們也可以採用類似二進位制相或的處理方式 (rw-rw-rw) || (----w--w-) = (110110110) || (000010010) = 110100100 = rw-r--r--
4.2.2字元形態的掩碼
看了數字形態的掩碼後,讀者是不是可以猜到字元形態的掩碼的意義?字元型態的掩碼意義,其實就是預設許可權應該保留的許可權,有點暈?沒關係,我們舉個例子就明白了。比如字元掩碼中owner(user)的許可權是u=rwx,這代表預設許可權中的user如果有r許可權,則保留;如果沒有則不保留。檔案的user的預設許可權為 rw-,那麼根據掩碼,保留rw,由於沒有x許可權,則不保留。那麼檔案的user的最終預設許可權為rw-,明白了嗎?若果還是不明白,那就來個二進位制相與吧!
檔案:rw-rw-rw) && (rwxr-x-r-x) = 110110110 && 111101101= 110100100 = rw-r--r--
這下明白了吧!
4.2.3.修改umask
很簡單umask後面直接接上修改後的值就可以了,這個值可以是數字形態的,也可以是字元形態的!
- [[email protected] linux]# umask 077
- [[email protected] linux]# umask
- 0077
- [[email protected] linux]# umask u=rwx,g=rwx,o=rwx
- [[email protected] linux]# umask
- 0000
- [[email protected] linux]# umask -S
- u=rwx,g=rwx,o=rwx
最後還有個有趣的現象,留給讀者自己思考!
- [[email protected] linux]# chmod +x test
- [[email protected] linux]# ll test
- -rwxr-xr-x. 1 root root 0 12月 12 11:46 test
- [[email protected] linux]# chmod +w test
- [[email protected] linux]# ll test
- -rwxr-xr-x. 1 root root 0 12月 12 11:46 test
- [[email protected] linux]# chmod a+w test
- [[email protected] linux]# ll test
- -rwxrwxrwx. 1 root root 0 12月 12 11:46 test
5.檔案許可權的意義
說了那麼多檔案許可權相關的問題,那麼,到底這些許可權代表了什麼意義呢?下面我們來分析下。5.1檔案許可權對檔案的意義
這個不用太多解釋你也明白,可讀,可寫,可執行。也就不羅嗦了。5.2檔案許可權對目錄的意義
這個非常重要!一定要仔細理解!那到底r w x 對目錄有什麼意義呢? r:對於目錄來說,具有r許可權的身份可以利用ls檢視該目錄下的檔名列表,不能檢視檔案的詳細資訊 w:具有w許可權的身份可以更改目錄的內部結構,也就是說,你可以刪除、新增、移動、重新命名檔案等 x:具有x許可權的身份可以利用cd進入該目錄作為自己的工作目錄,在這個目錄中,你可以訪問、修改你有許可權的檔案,前提是你知道這個檔案的檔名。 明白了吧?!下面我們用一些例子來說明。我用root賬號新建四個檔案,分別給others身份r,rx,w,wx許可權。然後用cherish賬號登陸,來看看我們用cherish這個身份都能對這些檔案進行哪些操作!- [[email protected] ~]$ ll -d /tmp/tesdir_*
- dr--r--r--. 3 root root 4096 12月 12 14:05 /tmp/tesdir_r #只給others r許可權
- dr-xr-xr-x. 3 root root 4096 12月 12 14:05 /tmp/tesdir_rx #給rx許可權
- d-w-----w-. 3 root root 4096 12月 12 14:05 /tmp/tesdir_w #給w許可權
- d-wx--x-wx. 3 root root 4096 12月 12 14:10 /tmp/tesdir_wx #給wx許可權
- [[email protected] ~]$ ll /tmp/tesdir_r -->只能檢視檔名,詳細資訊不能看哦!
- ls: 無法訪問/tmp/tesdir_r/testfile: 許可權不夠
- 總用量 0
- d????????? ? ? ? ? ? testfile
- [[email protected] ~]$ ll /tmp/tesdir_rx/ -->終於可以檢視詳細資訊了!當然,你也可以用cd進入這個檔案!
- 總用量 4
- drwxr-xr-x. 2 root root 4096 12月 12 14:05 testfile
- [[email protected] ~]$ mkdir /tmp/tesdir_w/chenbin -->有w許可權是不夠的,必須同時具有x許可權才可以修改目錄內的結構!記住了!
- mkdir: 無法建立目錄"/tmp/tesdir_w/chenbin": 許可權不夠
- [[email protected] ~]$ mkdir /tmp/tesdir_wx/chenbin -->可以建立啦!
- [[email protected] ~]$ cd /tmp/tesdir_r
- tesdir_r/ tesdir_rx/
- [[email protected] ~]$ cd /tmp/tesdir_r
- -bash: cd: /tmp/tesdir_r: 許可權不夠
一開始接觸這些東西的確讓人很感覺很坑爹!但是多多練習多多揣摩後悔發現,Linux真的很強大!學會了這些,你就不用像在windows下面一樣,想隱藏某些檔案的時候,還要用拙劣的“隱藏檔案”,或者大動干戈的下個神馬檔案加密軟體。在Linux下面只要一兩條命令就搞定了,是不是很強大呢?!
相關推薦
linux 許可權的設定與檢視 chmod 與 ls -l 等相關命令
本文為轉載文章 出處:http://blog.csdn.net/sinchb/article/details/11746427 本文著重介紹與Linux檔案許可權相關等問題,比如使用者與使用者組,檔案許可權,檔案預設許可權和檔案特殊許可權等。 Linux
Linux - 常用日誌文字檢視工具與應用技巧
主要參考 Linux more命令 | 菜鳥教程 Linux less命令 | 菜鳥教程 主要介紹Linux終端中head、tail、cat、more和less工具用於檢視日誌文字時的基礎功能與特性區別。 head使用說明 head用於將檔案或標準輸入的頭部(預設前10行)輸出到
linux-許可權設定
為什麼需要許可權管理 計算機資源有限,我們需要合理的分配計算機資源。 Linux是一個多使用者系統,對於每一個使用者來說,個人隱私的保護是十分重要的。由於Linux的一切皆檔案的基本思想,對於許可權的管理更多的則體現在管理檔案許可權上。為了方便的指派許可權,在Linux中定義了檔案
Linux許可權設定方法
1、舉例說明 修改某個目錄下的所有檔案的許可權,包括子目錄中的檔案,例子如下: chmod 777 /home/user 注:僅把/home/user目錄的許可權設定為rwxrwxrwx chmod -R 777 /home/user 注:表示將整個/home/user
Linux許可權詳解(chmod、600、644、666、700、711、755、777、4755、6755、7755)
許可權簡介Linux系統上對檔案的許可權有著嚴格的控制,用於如果相對某個檔案執行某種操作,必須具有對應的許可權方可執行成功。Linux下檔案的許可權型別一般包括讀,寫,執行。對應字母為 r、w、x。Linux下許可權的粒度有 擁有者 、群組 、其它組 三種。每個檔案都可以針對
linux -許可權不夠時,考慮是否用了sudo這個命令
安裝Python-Markdown時,出現提示錯誤:無法在/usr/local/lib/Python2.7/下面建立markdown 資料夾。提示說這個要求被拒絕了。自己手動建立也無法解決這個問題。後來用sudo mkdir markdown 即解決了問題。 建立好資料夾
linux系統中的11選5源碼搭建相關命令行
AR 指定路徑 and 需要 目的 The 相關 打包 基本操作 linux目錄結構(1)返回上級目錄:cd .. 進入你的home目錄:cd ~ 使用pwd獲取當前路徑:pwd (2)linux文件中11選5源碼搭建基本操作:企 娥:217 1793 408①新建空
linux安裝mysql以及修改密碼和重啟mysql等相關命令 Linux啟動/停止/重啟Mysql資料庫的方法
Linux/UNIX 上安裝 MySQL Linux平臺上推薦使用RPM包來安裝Mysql,MySQL AB提供了以下RPM包的下載地址: MySQL - MySQL伺服器。你需要該選項,除非你只想連線執行在另一臺機器上的MySQL伺服器。 MySQL-client - MySQL 客戶端程式,
linux 用vi命令的使用以及vi編輯後的後續儲存退出等相關命令的使用
作業系統:centos6.5 使用軟體:Xshell5 一、首先用vi命令打卡要編輯的檔案: 注意:vi命令的使用如下 開啟或新建檔案,並將游標至於第一行首:[[email protected] /]# vi /etc/my.cnf 開啟檔案,並將游標移至最
linux下目錄許可權檢視與修改以及檔案和目錄訪問許可權設定
檢視檔案許可權的語句: 在終端輸入: ls -l xxx.xxx (xxx.xxx是檔名) 那麼就會出現相類似的資訊,主要都是這些: -rw-rw-r-- 一共有10位數 其中: 最前面那個 - 代表的是型別 中間那三個 rw- 代表的是所有者(user
第十三章 Linux 賬號管理與 ACL 許可權設定
Linux 的賬號與群組 Linux 是如何辨別每一個使用者的呢? 使用者識別碼 UID 和 GID 每一個檔案都具有【擁有人與擁有群組】的屬性,每個登入的使用者都至少會擁有兩個 ID ,一個是使用者 ID (User ID) 和一個群組 ID (Group ID)。 使用者
shell命令以及執行原理、檢視或修改掩碼(umask)、Linux許可權管理、Linux設定檔案訪問許可權(chmod)、粘滯位、修改檔案的擁有者(chown)、修改檔案的所屬組(chgrp)
shell命令以及執行原理: Linux嚴格意義上說的是一個作業系統,我們稱之為”核心”,但是我們普通使用者,不能直接使用核心,而是通過核心的”外殼”程式,也就是所謂的shell,來與核心溝通。 Linux中的命令大多數都是可執行程式。但其實捕捉我們
Linux 賬號管理與 ACL 許可權設定
Linux 的賬號與群組 每個登入Linux的使用者至少都會取得兩個 ID ,一個是使用者 ID (User ID ,簡稱 UID),一個是群組 ID (Group ID ,簡稱 GID)。 使用者賬號 Linux 系統上面的使用者登入主機以取得 shell 的
【Linux下許可權控制之chmod與chown命令】
chmod 用於配置檔案/目錄許可權 命名格式:chmod [選項] 檔案/目錄名 . 許可權類別: r 讀取 可用數字4表示 w 寫入 可用數字2表示 x 執行 可用數字1表示 . 歸屬類別: u 屬主 g 屬組 o 其它 a 所有人 . 操作符: + 給指定類別新增指定許可權(例如+x或a+x表
Linux的帳號管理與ACL許可權設定
使用者在終端介面通過login介面,輸入帳號密碼後,linux系統做了什麼? 先找尋 /etc/passwd 裡面是否有你輸入的賬號?如果沒有則跳出,如果有的話則將該賬號對應的 UID 與GID (在 /etc/group 中) 讀出來,另外,該賬號的家目錄
linux下core檔案設定與檢視
程式異常退出時,核心會生成一個core檔案(是記憶體映像以及除錯資訊)。可以通過使用gdb來檢視core檔案,指示出導致程式出錯的程式碼所在的檔案和行數。 1、檢視系統中core檔案生成的開關是否開啟 1)使用ulimit -c命令可檢視core檔案的生成開
20.Linux 賬號管理與 ACL 許可權設定
Linux 登入大致過程: 1. 先尋找 /etc/passwd 裡面是否有你輸入的賬號,如果沒有跳出;如果有的話將該賬號對應的UID 和 GID(在 /etc/group 中)讀出來,另外,該賬號的主資料夾與 shell 設定也一併讀出。
Linux 學習“Linux賬號管理與ACL許可權設定”
每個登入的使用者會獲得至少兩個ID,一個是UID,一個是GID;linux登入步驟,先找尋在/etc/passwd中是否有你的賬號,沒有跳出,有就去/etc/group中將賬號對應的UID與GID讀出,另外將該張海的主資料夾與shell設定一併讀出,接下來核對密碼錶進入/etc/shadow;linux中ro
設定與檢視Linux系統中的環境變數
大家好,我是良許。 大家都知道,在 Linux 系統中,有**環境變數**和 **Shell 變數**這兩種變數。 環境變數是在程式及其子程式中全域性可用的,常常用來儲存像預設的文字編輯器或者瀏覽器,以及可執行檔案的路徑等等這樣的資訊。而 Shell 變數僅在當前 Shell 中可用,可以用來儲存當前使用
linux中chmod與chown兩個命令詳解
In 第一個 ID 利用 root chown 資料 後綴 沒有 在linux系統中chmod,chown命令都可以來設置權限了,但它們也是有區別的,下文小編為各位介紹chmod與chown兩個命令用法與區別介紹。 今天要分享的2個命令也是我們平時常用的,chmod與cho