屬主與權(quán)限

一、屬主商架,屬組余舶,其他人

http://www.reibang.com/p/8a6219c09e4c

Linux 系統(tǒng)中一切皆文件。

每個文件和目錄都有自己的屬主和屬組

  • 屬主 表示這個文檔是屬于哪個用戶的发绢,這個用戶必須存在于這個系統(tǒng)中硬耍。

  • 屬組 表示這個文檔是屬于哪個組的, 這個組必須存在于這個系統(tǒng)中边酒。

  • 其他人 表示這個文檔和哪些用戶沒有任何的關(guān)系经柴,此時那些用戶就是其他人的范疇。

二墩朦、記錄用戶和組的文件

/etc/passwd 保存了用戶的相關(guān)信息

/etc/shadow 保存了用戶的密碼等信息

/etc/group 保存了組的相關(guān)信息

三坯认、文件屬性

image

文檔類型

- :常規(guī)文件;即普通文件氓涣;

d : directory  目錄文件

b : block device, 塊設(shè)備文件鹃操,支持以block(塊)為單位進行隨機訪問

c :character device,字符設(shè)備文件春哨,支持以(字符)character為單位進行線性訪問,
    例如鍵盤恩伺、鼠標(一次性讀取設(shè)備)。

   major number :主設(shè)備號,用標識設(shè)備文件玄妈,今兒確定要加載的驅(qū)動程序

   minor number :次設(shè)備號,用于標識同一類型中的不同的設(shè)備
                 8位二進制:0-255

l : symbolic link, 符號鏈接文件,就行 Windows 中的快捷方式燃观;

p :  pipe, 命名管道;

s  :  socker, 套接字文件便瑟;

關(guān)于索引節(jié)點缆毁,課外閱讀資料阮一峰博客

關(guān)于權(quán)限部分

image

一個文檔的權(quán)限分為三部分,每個部分對應了具體的對象(誰的到涂,哪個組的脊框,其他人)。

每個部分有分為 3 個位践啄,每個位都對應了不同的權(quán)限浇雹。所有的位置中,假如表示沒有權(quán)限屿讽,就在次位置用英文的短橫線 - 占位 昭灵。

  • 第一個位置是 讀權(quán)限,有讀權(quán)限伐谈,就在此位置用 r 表示烂完,假如沒有,用英文的短橫線 - 表示诵棵。
    比如: r-- , 表示 只讀的權(quán)限抠蚣。

  • 第二個位置是 寫權(quán)限, 有寫權(quán)限,就在此位置用 w 表示非春。

  • 第三個位置是 執(zhí)行權(quán)限柱徙, 有寫權(quán)限, 就在此位置用 x 表示奇昙。

隨意練習一下, 開始你的表演护侮。提問開始

修改文檔的權(quán)限和屬性

修改屬主和組

修改屬主和屬組的命令可以使用 chown, 就是 change owner 的簡寫储耐。

chown 命令語法

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

注意:

這里的賬號名稱和組名稱羊初,必須存在于系統(tǒng)中,在 /etc/passwd/etc/group 文件中有相應的記錄什湘。

// 修改屬主和屬組
chown   sshd.sshd    a.txt

// 修改目錄及其下面所有的文件和目前的屬主和屬組长赞, 需要創(chuàng)建這個目錄
chown  -R   sshd:sshd    /opt/mysql/data

// 修改屬主
chown    sshd     b.txt

// 修改屬組, 注意組名 sshd 前面有個點
chown    .sshd     b.txt

修改權(quán)限

修改權(quán)限的命令使用 chmod, 就是 change mode 的簡寫。

chmod 命令語法

chmod  [-R]   權(quán)限表示方式     文件或目錄

-R 選項是對目錄進行遞歸操作

權(quán)限的改變使用的是chmod這個指令闽撤,但是得哆,權(quán)限的設(shè)置方法有兩種, 分別可以使用數(shù)字或者是符號來進行權(quán)限的變更哟旗。

符號的方式

image

所謂的符號就是上圖中的 r贩据、wx栋操。

那如何表示身份對象呢?

  • 屬主饱亮, 就是 user 的意思, 可以使用 u 來表示

  • 屬組矾芙, 就是 group 的意思, 可以使用 g 來表示

  • 其他人, 就是 others 的意思, 可以使用 o 來表示

  • 所有人, 可以使用 all, 就用 a 來表示

增加權(quán)限使用英文的 + 符號
移除權(quán)限使用英文的 - 符號
設(shè)置權(quán)限使用英文的 = 符號

開始你的表演

  1. 設(shè)置 .bashrc 文件的權(quán)限近上,具體要求如下
    • 屬主為 可讀剔宪,可寫
    • 屬組為 可讀
    • 其他人為 可讀
chmod   u=rw,g=r,o=r    .bashrc

  1. 修改 .bashrc 文件的權(quán)限為如下描述
    • 屬主增加 可執(zhí)行權(quán)限
    • 屬組增加 可寫,可執(zhí)行權(quán)限
    • 其他人移除 可讀權(quán)限
chmod    u+x,g+wx,o-r   .bashrc

  1. 修改 .bashrc 文件的權(quán)限為:

    • 給所有用戶增加可執(zhí)行權(quán)限
chmod  a+x    .bashrc

數(shù)字的方式

使用數(shù)字的方式操作權(quán)限壹无,就是把之前的每個角色的具體位置的的符號轉(zhuǎn)變成一個數(shù)字葱绒。

r --> 4

w --> 2

x --> 1

那如何把這些數(shù)字對應到具體的身份中呢,比如 屬主格遭、數(shù)組哈街,其他人。

對應到每個身份上時拒迅,需要把三個位置的數(shù)字相加骚秦。

比如一個文檔的權(quán)限是 -rwxr--r--, 對應的數(shù)字方式的權(quán)限是 744.

文檔類型: - 代表普通文件
屬主:rwx 分別對應了 4 2 1璧微,相加后就是 7
屬組: r-- 分別對應了 4 0 0 , 相加后就是 4
其他人: r-- 分別對應了 4 0 0 , 相加后就是 4

開始你的表演

數(shù)字方式的權(quán)限設(shè)置作箍,都是直接設(shè)置的,沒有增加前硫、刪除之說胞得。

  1. 設(shè)置文件 .bashrc 的權(quán)限為
    屬主:可讀可寫可執(zhí)行
    屬組: 可讀可執(zhí)行
    其他人: 無權(quán)限
chomd   750     .bashrc

四、權(quán)限對于文件和目錄的意義

認識 Linux 系統(tǒng)

分區(qū)和文件系統(tǒng)的基本認知

image
image

由于盤片是圓的屹电,并且通過機器手臂去讀寫數(shù)據(jù)阶剑,盤片要轉(zhuǎn)動才能夠讓機器手臂讀寫。因此危号,通常數(shù)據(jù)寫入當然就是以圓圈轉(zhuǎn)圈的方式讀寫啰牧愁!

所以,當初設(shè)計就是在類似盤片同心圓上面切出一個一個的小區(qū)塊外莲,這些小區(qū)塊整合成一個圓形猪半,讓機器手臂上的磁頭去存取。 這個小區(qū)塊就是磁盤的最小物理儲存單位偷线,稱之為扇區(qū) (sector)磨确,那同一個同心圓的扇區(qū)組合成的圓就是所謂的磁道(track)。 由于磁盤里面可能會有多個盤片声邦,因此在所有盤片上面的同一個磁道可以組合成所謂的柱面 (cylinder)乏奥。

原本硬盤的扇區(qū)都是設(shè)計成 512Byte 的容量,但因為近期以來硬盤的容量越來越大亥曹,為了減少數(shù)據(jù)量的拆解邓了,所以新的大容量硬盤已經(jīng)有 4KByte 的扇區(qū)設(shè)計盏檐! 購買的時候也需要注意一下。也因為這個扇區(qū)的設(shè)計不同了驶悟,因此在磁盤的分區(qū)方面,目前有舊式的 MSDOS 相容模式材失,以及較新的 GPT 模式痕鳍。

具體分區(qū)參考

一塊磁盤需要經(jīng)過分區(qū),之后對每個分區(qū)進行格式化操作龙巨,操作系統(tǒng)才能用于存儲數(shù)據(jù)笼呆。

一塊磁盤 --》 一大間房子

分區(qū) --》 分割成不同的房間

格式化 --》 規(guī)定每個房間的用途

規(guī)定每個房間的用途,就相當于確定如何使用存放數(shù)據(jù)旨别,這個過程中就需要制定一定的規(guī)則诗赌,就是規(guī)定數(shù)據(jù)如何存放的硬盤的這個分區(qū)。這個規(guī)則稱為文件系統(tǒng)秸弛。

為什么需要進行格式化*呢铭若?這是因為每種操作系統(tǒng)所設(shè)置的文件屬性/權(quán)限并不相同, 為了存放這些文件所需的數(shù)據(jù)递览,因此就需要將分區(qū)進行格式化叼屠。

所以不同的操作系統(tǒng)也有自己獨有的文件系統(tǒng)。

對于 Windows 中绞铃,有的文件系統(tǒng)比如 FAT32镜雨、NTFS 等

對于 Linux 系統(tǒng)中,有的文件系統(tǒng):EXT2儿捧、 EXT3荚坞、 EXT4、 XFS

大部分情況下菲盾,每種操作系統(tǒng)只能夠使用自己的文件系統(tǒng)颓影,也有一些特殊的,比如FAT32 多種操作系統(tǒng)都是可以支持的亿汞,因為這個文件系統(tǒng)比較陳舊瞭空,支持的特性功能不多,所以大部分操作系統(tǒng)都支持疗我。

Mac 和 Windows 都能讀寫的文件系統(tǒng)是 ExFAT

Mac 咆畏、Linux、Windows 都是讀寫的是 Fat32吴裤。

Fat32 系統(tǒng)缺點讀寫速度慢旧找,并且單個文件的大小不能超過 4G, 比如不能存儲一個超過 4G的視頻或者 ISO格式的文件等

inode 和 block

Linux 系統(tǒng)中有很多高級的文件系統(tǒng),這些文件系統(tǒng)中的文檔除了有文件內(nèi)容本身外麦牺,還有很多屬性钮蛛,在管理這些內(nèi)容的時候鞭缭,會把一個文檔這些內(nèi)容分為兩個部分存儲。

inode 部分和 block 部分

每個 inode 與 block 都有編號

  • inode:記錄文件的屬性魏颓,一個文件占用一個inode岭辣,同時記錄此文件的數(shù)據(jù)所在的 block 號碼;
  • block:實際記錄文件的內(nèi)容甸饱,若文件太大時沦童,會占用多個 block 。

假設(shè)某一個文件的屬性與權(quán)限數(shù)據(jù)是放置到 inode 4 號(下圖較小方格內(nèi))叹话,而這個 inode 記錄了文件數(shù)據(jù)的實際放置點為 2, 7, 13, 15 這四個 block 號碼偷遗,此時我們的操作系統(tǒng)就能夠根據(jù) block 號來排列磁盤的讀取順序,可以一口氣將四個 block 內(nèi)容讀出來驼壶! 那么數(shù)據(jù)的讀取就如同下圖中的箭頭所指定的模樣了氏豌。

image

參考文檔:鳥哥私房菜基礎(chǔ)篇

關(guān)于 inode

inode 也可以稱為 inode table(表格)

inode 的內(nèi)容在記錄文件的屬性以及該文件實際數(shù)據(jù)是放置在哪幾號 block 內(nèi)! 基本上热凹,inode 記錄的文件數(shù)據(jù)至少有下面這些:

  • 該文件的存取模式(read/write/excute)泵喘;
  • 該文件的擁有者與群組(owner/group);
  • 該文件的容量碌嘀;
  • 該文件創(chuàng)建或狀態(tài)改變的時間(ctime)涣旨;
  • 最近一次的讀取時間(atime);
  • 最近修改的時間(mtime)股冗;
  • 定義文件特性的旗標(flag)霹陡,如 SetUID...;
  • 該文件真正內(nèi)容的指向 (pointer)止状;

關(guān)于 block

block 可以稱為 data block

data block 顧名思義烹棉,就是存放數(shù)據(jù)的,但是怯疤,block 對于文件和目錄有不同的意義浆洗。存放的數(shù)據(jù)不一樣,具體如下:

  • 對于文件來說集峦,就是存放真實是文件內(nèi)容的伏社,比如文件內(nèi)容是 "hello shark" 就是存放 "hello shark" 這幾個字符串的。

  • 對于目錄塔淤,Linux 中一切皆文件摘昌,目錄其實也是文件。目錄的 block 中存放了這個目錄下的文檔名和其對應的 inode 號高蜂。像下面這樣

image

所以整個目錄和其下面的文檔的記錄方式和關(guān)系如下圖:

image

五聪黎、 權(quán)限與指令間的關(guān)系

我們知道權(quán)限對于使用者帳號來說是非常重要的,因為他可以限制使用者能不能讀取/創(chuàng)建/刪除/修改文件或目錄备恤! 在這一章我們介紹了很多文件系統(tǒng)的管理指令稿饰,第五章則介紹了很多文件權(quán)限的意義锦秒。在這個小節(jié)當中, 我們就將這兩者結(jié)合起來喉镰,說明一下什么指令在什么樣的權(quán)限下才能夠運行吧旅择!_

1、讓使用者能進入某目錄成為“可工作目錄”的基本權(quán)限為何:

  • 可使用的指令:例如 cd 等變換工作目錄的指令侣姆;
  • 目錄所需權(quán)限:使用者對這個目錄至少需要具有 x 的權(quán)限
  • 額外需求:如果使用者想要在這個目錄內(nèi)利用 ls 查閱文件名砌左,則使用者對此目錄還需要 r 的權(quán)限。

2铺敌、使用者在某個目錄內(nèi)讀取一個文件的基本權(quán)限為何?

  • 可使用的指令:例如本章談到的 cat, more, less等等
  • 目錄所需權(quán)限:使用者對這個目錄至少需要具有 x 權(quán)限屁擅;
  • 文件所需權(quán)限:使用者對文件至少需要具有 r 的權(quán)限才行偿凭!

3、讓使用者可以修改一個文件的基本權(quán)限為何派歌?

  • 可使用的指令:例如 vi 文本編輯器等弯囊;
  • 目錄所需權(quán)限:使用者在該文件所在的目錄至少要有 x 權(quán)限;
  • 文件所需權(quán)限:使用者對該文件至少要有 r, w 權(quán)限

4胶果、讓一個使用者可以創(chuàng)建一個文件的基本權(quán)限為何匾嘱?

  • 目錄所需權(quán)限:使用者在該目錄要具有 w,x 的權(quán)限,重點在 w 啦早抠!

5霎烙、讓使用者進入某目錄并執(zhí)行該目錄下的某個指令之基本權(quán)限為何?

  • 目錄所需權(quán)限:使用者在該目錄至少要有 x 的權(quán)限蕊连;
  • 文件所需權(quán)限:使用者在該文件至少需要有 x 的權(quán)限

例題:讓一個使用者 shark 能夠進行“cp /dir1/file1 /dir2”的指令時悬垃,請說明 dir1, file1, dir2 的最小所需權(quán)限為何?答:執(zhí)行 cp 時甘苍, dmtsai 要“能夠讀取來源文件尝蠕,并且寫入目標文件!”所以應參考上述第二點與第四點的說明载庭! 因此各文件/目錄的最小權(quán)限應該是:

  • dir1 :至少需要有 x 權(quán)限看彼;
  • file1:至少需要有 r 權(quán)限;
  • dir2 :至少需要有 w, x 權(quán)限囚聚。

例題:有一個文件全名為 /home/student/www/index.html 靖榕,各相關(guān)文件/目錄的權(quán)限如下:

drwxr-xr-x 23 root    root    4096 Sep 22 12:09 /
drwxr-xr-x  6 root    root    4096 Sep 29 02:21 /home
drwx------  6 student student 4096 Sep 29 02:23 /home/student
drwxr-xr-x  6 student student 4096 Sep 29 02:24 /home/student/www
-rwxr--r--  6 student student  369 Sep 29 02:27 /home/student/www/index.html

請問 shark 這個帳號(不屬于student群組)能否讀取 index.html 這個文件呢?答:雖然 www 與 index.html 是可以讓 shark 讀取的權(quán)限靡挥,但是因為目錄結(jié)構(gòu)是由根目錄一層一層讀取的序矩, 因此 shark 可進入 /home 但是卻不可進入 /home/student/ ,既然連進入 /home/student 都不許了跋破, 當然就讀不到 index.html 了簸淀!所以答案是“shark不會讀取到 index.html 的內(nèi)容”瓶蝴!

那要如何修改權(quán)限呢?其實只要將 /home/student 的權(quán)限修改為最小 711 租幕,或者直接給予 755 就可以啦舷手! 這很重要!

六劲绪、文檔默認權(quán)限 umask

權(quán)限掩碼

umask  -S

當用戶創(chuàng)建文檔時男窟,創(chuàng)建后的默認權(quán)限計算方法

  • 創(chuàng)建文件時:

(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--

  • 創(chuàng)建目錄時:

(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x

修改用戶的 umask 可以在 /etc/profile/etc/bashrc 文件中修改。

七贾富、 文件特殊權(quán)限: SUID, SGID, SBIT

Set UID

名詞介紹

二進制文件 就是可以被執(zhí)行的文件歉眷,通俗說就是命令文件,程序文件颤枪,就想是 windows 中的 .exe 文件汗捡。

二進制文件也可以叫做二進制程序

先看一個文件

?  ~ ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 27832 Jun 10  2014 /usr/bin/passwd

上面文件擁有者的權(quán)限部分中的 x 位置,出現(xiàn)了一個 s畏纲, 這個 s 標識就代表了這個文件具有 SUID 特殊權(quán)限扇住。

其作用和限制如下:

  • SUID 權(quán)限僅對二進制程序(binary program)有效;
  • 執(zhí)行者對于該程序需要具有 x 的可執(zhí)行權(quán)限盗胀;
  • 本權(quán)限僅在執(zhí)行該程序的過程中有效 (run-time)艘蹋;
  • 在執(zhí)行此文件時,執(zhí)行者將具有該程序擁有者 (owner) 的權(quán)限票灰。

給一個文件設(shè)置 SUID

chmod    u+s   file    

Set GID

當 s 標志在文件擁有者的 x 項目為 SUID女阀,那 s 在群組的 x 時則稱為 Set GID,即 SGID .

當一個文件具有 SGID(用的情況不多)

  • SGID 對二進制程序有用;
  • 程序執(zhí)行者對于該程序來說屑迂,需具備 x 的權(quán)限强品;
  • 執(zhí)行者在執(zhí)行的過程中將會獲得該程序群組的權(quán)限!

當一個目錄具有 SGID

  • 用戶若對于此目錄具有 r 與 x 的權(quán)限時屈糊,該用戶能夠進入此目錄的榛;
  • 用戶在此目錄下的有效群組(effective group)將會變成該目錄的群組;
  • 用途:若用戶在此目錄下具有 w 的權(quán)限(可以新建文件)逻锐,則用戶所創(chuàng)建的新文件時夫晌,該新文件的群組與此目錄的群組相同。

Sticky Bit

這個 Sticky Bit, SBIT 目前只針對目錄有效昧诱,對于文件已經(jīng)沒有效果了晓淀。

SBIT 對于目錄的作用是:

  • 當使用者對于此目錄具有 w, x 權(quán)限,亦即具有寫入的權(quán)限時盏档;
  • 當使用者在該目錄下創(chuàng)建文件或目錄時凶掰,僅有自己與 root 才有權(quán)力刪除該文件
ls   -ld   /tmp

設(shè)置 SBIT

chmod   o+t    a/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子懦窘,更是在濱河造成了極大的恐慌前翎,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件畅涂,死亡現(xiàn)場離奇詭異港华,居然都是意外死亡,警方通過查閱死者的電腦和手機午衰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門立宜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人臊岸,你說我怎么就攤上這事橙数。” “怎么了帅戒?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵商模,是天一觀的道長。 經(jīng)常有香客問我蜘澜,道長,這世上最難降的妖魔是什么响疚? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任鄙信,我火速辦了婚禮,結(jié)果婚禮上忿晕,老公的妹妹穿的比我還像新娘装诡。我一直安慰自己,他們只是感情好践盼,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布鸦采。 她就那樣靜靜地躺著,像睡著了一般咕幻。 火紅的嫁衣襯著肌膚如雪渔伯。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天肄程,我揣著相機與錄音锣吼,去河邊找鬼。 笑死蓝厌,一個胖子當著我的面吹牛玄叠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拓提,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼读恃,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寺惫,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤疹吃,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后肌蜻,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體互墓,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年蒋搜,在試婚紗的時候發(fā)現(xiàn)自己被綠了篡撵。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡豆挽,死狀恐怖育谬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情帮哈,我是刑警寧澤膛檀,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站娘侍,受9級特大地震影響咖刃,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜憾筏,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一嚎杨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧氧腰,春花似錦枫浙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至黄痪,卻和暖如春紧帕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桅打。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工焕参, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人油额。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓叠纷,卻偏偏與公主長得像,于是被迫代替她去往敵國和親潦嘶。 傳聞我的和親對象是個殘疾皇子涩嚣,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容