1. 程式人生 > >Linux檔案及許可權

Linux檔案及許可權

                               Linux檔案及許可權

1. 檢視檔案許可權

(1).ls -l 命令 (ll命令)

顯示詳細資訊

例:  

[[email protected] Desktop]# ll

total 178752

-rwxr-xr-x.  1 root   root        2092 Nov 20 13:05 1

drwx------.  4 root   root        4096 Jan 29  2016 1.22xiancheng2

drwx------.  5 root   root          54 Nov 24  2011 16計算機組成原理實驗講稿

-rw-r--r--.   1 root   root           0 Dec 21 22:14 1.c

註釋:

上述“ls -l”的結果一共有 9 ,分為 7 個部分.下面從左向右對這 7 部分資訊進行解釋,

我們以 file1 檔案為例:

(1)"-rw-r—r—.":檔案許可權資訊,10 個字元(不要忽略最後一個字元.)

第一列的資訊,它主要描述了檔案的許可權資訊,可以看到一共有 11個字元

   第一個字母表示檔案型別

普通檔案

l    link連結檔案,指向另一個檔案,類似快捷方式

d   direct 目錄檔案

b   block塊檔案 硬碟 二進位制檔案

c   字元裝置檔案

s    socket套接字檔案

p    命名管道檔案

 共有3rwx

u所屬使用者  g所屬組  o不同組的其他使用者

r4) 讀    w 2)寫  x1)可執行

rwx =4+2+1= 7

(2)"1":檔案的連線數(在軟連結和硬連結中會進行講解)

(3)"root":檔案所屬使用者。

(4)"root":檔案所屬的組。

(5)"54":檔案容量(預設單位為 bytes)

(6)"Nov 20 13:05":這個檔案的建立日期或者是最近一次的修改日期。

(7)"f1.c":檔名稱。

2..許可權及修改許可權命令

  在修改檔案許可權方面 linux 為我們提供了以下 3 個命令

:

 chown  改變檔案的擁有者

 chgrp   改變檔案所屬的組

 chmod  改變檔案的許可權,SUIDSGID

1)。修改檔案的擁有者

     例:chown haha file

   file的所屬改使用者為haha

          chown  root.haha file

   " . "前表示檔案所屬使用者,後表示檔案所屬組,也可以用代替

 2)。修改檔案所屬組

      例: chgrp haha file

  (3)。改變檔案許可權

格式:chmod  u=rwxg=rw,o=r  file  設定

chmod +x file     加入

chmod g-r file     除去

chmod 666 file

3.三種特殊許可權的管理:SUIDSGIDSBIT

 SUID(Set UID)

s 這個標誌出現在檔案擁有者 x 許可權上時,此時就被稱為 Set UID,簡稱為 SUID 的特殊許可權。 那麼 SUID 的許可權對於一個檔案有這樣的限制和功能:

(1)SUID 許可權僅對二進位制程式(binary program)有效;

(2)執行者對於該程式需要具有 x 的可執行許可權;

(3)本許可權僅在執行該程式在的過程中有效 (run-time);

(4)執行者將具有該程式擁有者 (owner) 的許可權。

,注意:非常關鍵的是,SUID 所針對的只能是二進位制檔案,而不是可執行檔案,例如 shell

指令碼就不可以被賦予 SUID 的許可權。

  SGID

SGID 可以針對檔案或者目錄進行設定。

(1) 如果 SGID 針對的是檔案的話有以下限定:

SGID 對二進位制程式有用;程式執行者對於該程式來說,需具備 x 的許可權;

執行者在執行的過程中將會獲得該程式群組的支援

(2)如果 SGID 使用在目錄上,它將具有以下的功能:

使用者對於此目錄具有 r x 的許可權時,該使用者能夠進入此目錄。

使用者在此目弽下癿有效群組(effective group)將會變成該目弽癿群組;

若使用者在此目錄下具有 w 的許可權(可以新建檔案),則使用者所建立的新檔案的

所屬組與此目錄的組群相同。

 Sticky Bit

這個許可權只針對目錄有效,對於檔案是沒有效果的,簡稱為 SBITSBIT 對於目錄的作用是:

(1) 當用戶對於此目錄具有 r x 的許可權時,該使用者能夠進入此目錄。

(2) 當用戶在該目錄下建立檔案時,只有自己和 root 能夠進行刪除,其他使用者不能夠

進行刪除。

SUIDSGID SBIT 許可權的設定:

(1) 使用符號進行設定:

SUID ====>chmod u+s 二進位制檔案

SGID ====>chmod g+s 目錄或者二進位制檔案

SBIT ====>chmod  o+t 目錄

(2) 使用數字進行設定:

4 SUID

2 SGID

1 SBIT

可以使用 chmod 進行賦值,以前我們檔案許可權的修改是三位數字(例如:777),如果要新增上 SUID 的許可權,則為四位數字:4777,新增 SGID SBIT 的方法類似。

4.設定檔案與目錄的預設許可權

linux 作業系統中檔案的預設許可權由 umask 值決定,檔案和目錄的預設許可權是有所區別的:

(1).檔案的 x 許可權預設情況下是被取消的,也就是說檔案預設的滿許可權是 666。主要考慮

以下兩個原因:

1)一般情況下檔案只起記錄的作用,所以能夠進行讀寫即可。

2)取消 x 許可權也是出於安全的考慮。畢竟直建立的檔案就可以執行指令碼是非常危險的隱患。

(2).目錄的滿許可權是包含 x ,也就是 777

(3).檔案和目錄的初始許可權就是由其滿許可權減去 umask 值決定的。在檔案/etc/profile 檔案中我們對 umask 值進行了設定:

  只有當用戶的 id 大於 199,並且使用者名稱稱和其組名稱相等的時候,它的 umask 值為002,使用 666 777 分別減去 002 會得到結果

5.軟連結與硬連結

1)。hard Link(硬連結,或者稱作實體連結)

在瞭解硬連結之前我們需要清楚以下幾個知識:

1) 每個檔案都會佔用一個 inode ,檔案內容由 inode 的記錄來指向;

2) 想要讀取該檔案的內容,必須通過目錄所記錄的檔名來找到正確的 inode 號進行讀取。

接下來我們舉例建立一個檔案的硬連結:

我們設定了/mnt/crontab /etc/crontab 的硬連結檔案,通過列出詳細資訊可以發現二者的inode 號是相同的,而且連結數目變為了 2。通過 1 2 的目錄的 inode 號找到指定的塊(block),在這兩個塊中有不同的文件名,但是這兩個文件名都可以指定 real 這個 inode 號去找到最終讀取的資料。

使用硬連結時,磁碟空間和 inode 數量都不會發生變化。硬連結只是在所指定的目錄的block 多寫入一個關聯資料,既不會增加 inode 數也不會耗用 block 數。

硬鏈  接的使用有以下限制:

1) 不能跨越檔案系統;

2) 不能對目錄進行硬連結;

解釋:

跨越檔案系統會造成連結上的錯亂,而如果使用 hard link 連結到目錄時, 連結的資料需要連同被連結目錄底下的所有資料都要建立連結,舉例來說,如果你要將/etc 使用硬連結建立一個 /etc_hd 的目錄時,那在 /etc_hd 底下的所有檔案同時都與/etc 底下的檔案要建立 hard link ,而不僅是兩個目錄名之間建立硬連結而已。

例:

 [[email protected] mnt]# ll -l /etc/crontab

-rw-r--r--. 1 root root 451 Dec 28  2013 /etc/crontab

[[email protected] mnt]# ln /etc/crontab ./crontab

[[email protected] mnt]# ll -i /etc/crontab

135288839 -rw-r--r--. 2 root root 451 Dec 28  2013 /etc/crontab

[[email protected] mnt]# ll -i ./crontab

135288839 -rw-r--r--. 2 root root 451 Dec 28  2013 ./crontab

[[email protected] mnt]#

2)。 soft Link(軟連結,又稱作符號連結)

通過軟連結建立的檔案是一個獨立的檔案,它相當於是一個指標。這個檔案會讓資料

的讀取指向它 link 的檔案。因為只是一種指向動作,如果軟連結的原始檔被修改,它進行讀

取也會發生改變,如果原始檔被刪除,則連結檔案無法進行讀取了。

例:

[[email protected] c]# ln -s fork.c ./fork.c.bak

[[email protected] c]# ll -i fork.c

3190163 -rw-r--r--. 1 root root 393 Dec 10 14:55 fork.c

[[email protected] c]# ll -i fork.c.bak

137866169 lrwxrwxrwx. 1 root root 6 Jan  8 16:00 fork.c.bak -> fork.c

相關推薦

Linux檔案許可權

                               Linux檔案及許可權 1. 檢視檔案許可權 (1).ls -l 命令 (ll命令) 顯示詳細資訊 例:   [[email protected] Desktop]# ll total 178752

Linux--檔案/目錄 許可權修改

首先所有許可權對於三類使用者分別設定: User(所有者) / Group(組群) / Others(其他)。 許可權也是有三種:Read / Write / eXecute,這三種許可權對於文件和目錄有不同的意義。 1. 對於文件: Read:可以檢視文件的內容 Wri

linux 檔案資料夾操作總結

文章目錄 檔案基本操作 檢視 複製刪除移動 建立 其他 許可權(包括資料夾) 檢視許可權 許可權含義 修改許可權 修改許可權(數字)

java程式設計師菜鳥進階(十四)linux基礎入門(二)linux檔案目錄命令管理

大家都知道,熟悉命令操作的開發人員,Linux作業系統命令操作效率要高於圖形介面的操作,所以瞭解和學習linux基本命令操作是學習linux作業系統的首要任務,本文主要介紹以下四個知識點:   1.      She

linux -- 檔案特殊許可權和程序

<0>.建立目錄和檔案的預設許可權[umask] (1)umask ---> 檢視系統目錄預設預留許可權位;檔案預設預留許可權位 ---> 目錄許可權減去<111> (2)umask 007 ---> 臨時修改系統目錄預設預留許可權位 為 00

Linux指令許可權(部分)

一、常見指令 1.ls:列出目錄下的所有檔案 2.pwd:顯示使用者當前所在目錄 3.cd:進入指定目錄    cd ..:返回上級目錄    cd -:返回最近訪問目錄 4.touch:更改文件或目錄的日期時間,或建一個不存在的檔案

Linux檔案系統許可權詳解

Linux許可權說明: 444 r--r--r-- 600 rw------- 644 rw-r--r-- 666 rw-rw-rw- 700 rwx------ 744 rwxr--r-- 755 rwxr-xr-x 777 rwxrwxrwx

linux檔案目錄操作

1.建立檔案 touch 檔名 vim 檔名 2.複製檔案 cp 檔名 新路徑名稱 3.移動檔案也可以修改名稱 mv 檔名 新路徑名稱 4.建立資料夾 mkdir 資料夾名稱 5.複製檔案目錄 cp -r 資料夾名稱 新路徑名稱 -r

linux 檔案訪問許可權chmod

常用下面這條命令: chmod 777  檔案或目錄 示例:chmod  777 /etc/squid 執行命令後,squid資料夾(目錄)的許可權就被修改為777(可讀可寫可執行)。 如果是Ubuntu系統,可能需要加上sudo來執行: sudo chmod

Linux檔案操作許可權說明和設定

所謂的檔案許可權,是指對檔案的訪問許可權,包括對檔案的讀、寫、刪除、執行。Linux 是一個多使用者作業系統,它允許多個使用者同時登入和工作。因此 Linux 將一個檔案或目錄與一個使用者和組聯絡起來。 我們設定許可權時會有777、666等數字出現,下面看下具

linux檔案 特殊許可權的使用

1.說明 i屬性不能修改 a只能追加在6以後 [[email protected] ~]# chattr +i a.txt [[email protected] ~]# chattr +a a.txt [[email protected] ~]# lsattr-------

Linux檔案許可權詳解

檔案許可權 1.  ls -l列印該目錄下的檔案 #輸出入下:-rw-rw-r--. 1 oldboy oldboy 134 10月 14 01:57 text.txt #解釋:-rw-rw-r-- *10個字元來確定不同使用者對檔案能做什麼 *第1個字元-:-普通檔案,d

Linux檔案目錄許可權、隱藏屬性、特殊許可權

一、 Linux檔案及目錄許可權概念 1.1 檢視目錄或者檔案的許可權   “ls -al”命令可以檢視 1.2 目錄及檔案許可權分析 從上面的圖中可以看到,目錄或者檔案的屬性欄位為:   - - - - - - - - - - 從左至

Linux檔案特殊許可權SUID,SGID,SBIT

SUID:Set UID (s) 當s這個標誌出現在檔案的擁有者(owner)的x許可權上時,此時稱為Set UID,簡稱為SUID的特殊許可權。例如:/usr/bin/password [[email protected] ~]# ls -l /usr/bin

Linux使用者許可權管理--總結

1、Linux作業系統使用者及使用者組 Linux作業系統是多工(Multi-tasks)多使用者(Multi-users)分時作業系統,Linux作業系統的使用者就是讓我們登入到Linux的許可權;每當我們使用使用者名稱登入作業系統時,Linux都會對該使用者進行認證、授權審計等操作。作業系統為了識別每個

LINUX檔案目錄管理命令基礎

Linux命令列組成結構 Linux命令結構   在Linux中一切皆檔案,一切皆命令!   命令提示符:  [[email protected] ~]# [[email protected] ~]$   L

LINUX檔案目錄管理命令基礎(2)

Linux檔案型別 檔案作為Linux作業系統中最常見的物件,在系統中被分為了多種型別 如下: - 普通檔案 d 目錄 l 連結 b 塊裝置 c 字元裝置 p 管道裝置 s 套接字檔案 Linux目錄結構   絕對路徑及相對路徑  

Linux檔案列表許可權

轉載自:http://blog.csdn.net/jenminzhang/article/details/9816853 1.使用 ls -l 命令 執行結果如下(/var/log) : drwxr-x--- 2 root              adm  

Linux使用者許可權管理

一、使用者管理 1、建立使用者 //建立monitor使用者,使用者id為501,所屬組為monitor,附加群組為admin,起始目錄為/monitor useradd -u 501 -g monitor -G admin -d /monitor

Linux檔案特殊許可權——SetUID、SetGID、Sticky BIT

對於 SetUID、SetGID、Sticky BIT 這三個檔案特殊許可權,分別介紹如下: 1. SetUID 許可權 只有可以執行的二進位制程式才能設定SetUID許可權,並且命令執行者要對該程式