umask使用小結

來源:互聯網
上載者:User

在Linux中,當一個新檔案被建立時,系統預設的許可權為rw-rw-rw-,對所有使用者而言新檔案沒有執行許可權,如果想要添加所有使用者的執行許可權可以使用"$chomd u+x,g+x,o+x filename"來實現,但如果用gcc命令將某源檔案編譯連結產生一個新的可執行檔,那它是有執行許可權的。系統預設建立新目錄也有可執行許可權。

使用umask命令可以將屏蔽掉使用者建立檔案時不希望有的許可權,實現所謂的"mask"功能,比如說,我們常用的022,相應二進位碼為000 010 010 即將第5位和第8位mask掉,這時如果建立一個檔案,再用ls -l命令列出來可以看到其許可權為rw-r--r--,第5位和第8位的w許可權被mask掉了。系統在建立檔案時先賦予預設許可權rw-rw-rw-,再將umask取反,然後將結果與預設許可權按位相與,得到最終許可權,這是umask作用的實質。

下面舉幾個例子:
1、umask 000
   對所有位都不屏蔽,建立檔案和檔案夾均為預設許可權(檔案夾為rwxrwxrwx,檔案為rw-rw-rw-)
2、umask 777
    屏蔽所有位
3、umask u=,g=w,o=
   修改umask的值,使得u和o沒有任何許可權,g只有w許可權,這是umask除了第五位,其他全屏蔽,應該為 111101111,即757
4、umask u=rw,og=x
   修改umask的值,使得o和g只有x許可權,u有rw許可權,這時umask應為001110110,即166
5、umask u=rwx,g=w,o=rwx
   修改umask的值,使得u有rwx許可權,g有w許可權,o有rwx許可權,這是umask為000101000,即050
   

可以用命令$umask xxx(八位元)來修改當前umask的值,但下次登入系統會重新改回022,如果想永久修改,可以在/etc/profile中將umask改成你想要的值。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.