在Linux系統(tǒng)中,默認情況下root用戶創(chuàng)建目錄后的默認權限是755,創(chuàng)建文件后的默認權限是644,普通用戶創(chuàng)建目錄后的默認權限是775,創(chuàng)建文件后的默認權限是664。參見如下實驗來驗證。
首先使用root用戶,在/root家目錄下創(chuàng)建目錄abc,再創(chuàng)建空文件xyz,然后查看其默認權限。
- [root@jump ~]# cd
- [root@jump ~]# mkdir abc
- [root@jump ~]# touch xyz
- [root@jump ~]# ls -ld abc xyz
- drwxr-xr-x 2 root root 6 Jan 5 09:34 abc
- -rw-r--r-- 1 root root 0 Jan 5 09:34 xyz
可見root用戶創(chuàng)建目錄的默認權限是644,即只能root用戶可以在其創(chuàng)建的目錄中創(chuàng)建、改名、刪除目錄下的文件或目錄,root組的用戶以及其他用戶可以進入該目錄但是不能對目錄中的文件做刪除類的操作。
然后使用普通用戶zhang,在/home/zhang家目錄下創(chuàng)建目錄abc,再創(chuàng)建空文件xyz,最后查看其默認權限。
- [zhang@jump ~]$ pwd
- /home/zhang
- [zhang@jump ~]$ mkdir abc
- [zhang@jump ~]$ touch xyz
- [zhang@jump ~]$ ls -ld abc xyz
- drwxrwxr-x 2 zhang zhang 6 Jan 5 09:42 abc
- -rw-rw-r-- 1 zhang zhang 0 Jan 5 09:42 xyz
可見普通用戶zhang創(chuàng)建目錄的默認權限是664,即zhang用戶以及所在zhang組的用戶可以在其創(chuàng)建的目錄中創(chuàng)建、改名、刪除目錄下的文件或目錄,其他用戶僅可以進入該目錄但是不能對目錄中的文件做刪除類的操作。
之所以產生上面實驗的結果是因為Linux系統(tǒng)中有一個內部命令umask可以設置權限掩碼,對于root用戶來說,其默認值是0022,先關注后三位,即022�?捎胾mask命令查看umask變量的值。參見如下操作:
- [root@jump ~]# whoami
- root
- [root@jump ~]# umask
- 0022
對于普通用戶,其默認umask值為0002,用umask命令查看結果如下所示:
- [zhang@jump ~]$ whoami
- zhang
- [zhang@jump ~]$ umask
- 0002
文件的默認權限是由滿權限減去umask的后三位的值得到的,以root用戶舉例如下。
文件默認權限:滿權限(666)-umask(022)=默認權限(644)。
目錄默認權限:滿權限(777)-umask(022)=默認權限(755)。
注意,因為普通文件一般無需執(zhí)行,所以滿權限被認為是666;而目錄必須有x權限才可進入,所以滿權限被認為是777。
umask命令通常是在/etc /profile文件中設置的,每個用戶在登錄時都會執(zhí)行這個文件,文件中存在判斷條件權限掩碼會根據用戶的性質來生成,如下所示profile文件中的umask部分內容:
- ......
- if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
- umask 002
- else
- umask 022
- fi
- ......
即當用戶UID大于199且用戶名和主組名相同時默認掩碼為002(用戶名和主組名相同的普通用戶符合該條件),否則掩碼為022(root用戶符合該條件也包括了用戶名和主組名不相同的普通用戶)
另外,除了在系統(tǒng)中會使用umask命令,很多文件傳輸類服務,如FTP,在上傳文件時也會設置umask值以配置默認權限。
>>本文地址:http://uj2y2uok.com/zhuanye/2021/66397.html
聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經許可不得擅自轉載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?