linux隨筆(11)---umask和chmod

來源:互聯網
上載者:User

標籤:stat   umask   chmod   suid   

一、目的        本文將介紹linux環境下有關檔案訪問模式相關的命令。
        umask用來設定預設的檔案訪問模式屏蔽值;chmod用來修改檔案的訪問模式。
        本文將選取ubuntu14.04發行版做為描述基礎。

二、檔案訪問模式        linux使用檔案訪問模式保證檔案的安全性,通過一個12bit的資料結構表示檔案訪問模式的4組屬性:
        1、SUID、SGID、Sticky屬性 ;也叫特殊屬性。
        2、使用者的讀、寫、可執行屬性;也叫使用者屬性。
        3、使用者所屬組的讀、寫、可執行屬性;也叫使用者所屬組屬性。
        4、組內其他使用者的讀、寫、可執行屬性;也叫其他使用者屬性。
        這些屬性有兩種展示方式:一種是文字表示方式,r表示可讀,w表示可寫,x表示可執行,s表示設定了SUID,-表示禁止該屬性。使用ls -al命令可以查看文字方式表示的檔案訪問屬性。還有一種表示方式是八進位,將12bit分為4組,每組可以使用八進位來表示,例如,User八進位值7(二進位為111)表示可讀、可寫、可執行;5(二進位為101)表示可讀、不可寫、可執行。

        這兩種表示方式各有優缺點,文字表示方式直觀,八進位表示方式簡潔。



三、SUID和SGID屬性        SUID屬性只和可執行檔相關。正常情況下,當使用者啟動該可執行檔時,是以目前使用者的許可權啟動該可執行檔;如果設定了SUID屬性,那麼不管目前使用者是誰,都是以檔案的所有者的許可權啟動該可執行檔。
        例如,目前使用者是zsy,而可執行檔passwd的所有者是root,如果沒有設定SUID屬性,那麼當zsy使用者啟動passwd可執行程式時,passwd的許可權只是zsy擁有的許可權,不能修改/etc/shadow檔案;如果設定了SUID屬性,那麼當zsy使用者啟動passwd可執行程式時,passwd的許可權是root擁有的許可權,可以修改/etc/shadow。
        SGID屬性的作用類似,如果設定了SGID屬性,那麼都擁有檔案所屬組的許可權。

四、stat命令        stat命令可以查看檔案的一些基本屬性:檔案大小、所佔的塊大小、檔案訪問模式、檔案的所有者ID、檔案所屬組的ID、檔案建立時間等。
        文法:stat filename

        例如,使用stat命令來查看passwd檔案的屬性。可以看出passwd的檔案訪問模式的八進位表示方式是4755,對應的文字表示方式是-rwsr-xr-x。該檔案設定了SUID和SGID。



五、umask命令        umask命令設定了預設的檔案訪問模式屏蔽值,那麼當建立檔案時則自動禁止被屏蔽的屬性。
        文法:umask value
        例如,使用umask 2命令設定檔案訪問模式的屏蔽值為2,即0002。那麼當建立檔案時,自動化佈建其他屬性的寫入權限為禁止狀態。

六、chmod命令        chmod命令可以改變檔案的訪問模式。
        文法:chmod 檔案訪問模式(文字表示方式或者八進位表示方式) filename
        例如,使用chmod命令以文字表示方式增加檔案的可執行許可權,chmod u+x README.md;或者以八進位表示方式增加檔案的可執行許可權,chmod 644 README.md。
        其中u+x的含義是:u表示檔案訪問模式中的使用者屬性,+表示增加,x表示可執行許可權。
        八進位表示方式比較簡潔,所以建議使用八進位的表示方式修改檔案的訪問模式。

七、總結        linux系統下檔案有很多種屬性,例如:檔案大小、檔案的擁有者、檔案所屬的組、檔案訪問模式等,其中檔案訪問模式屬性的地位比較重要,因此重點介紹了檔案訪問模式的概念以及相關命令umask和chmod。

        檔案訪問模式的表示方式有文字表示方式和八進位表示方式,應該熟練掌握。特殊屬性的SUID位影響了可執行檔的執行許可權,讀者應該正確理解SUID的含義以及使用方法。


著作權聲明:        原創作品,如非商業性轉載,請註明出處;如商業性轉載出版,請與作者聯絡。

linux隨筆(11)---umask和chmod

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.