Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >linux系统下文件的默认权限以及隐藏属性的作用
文件默认权限
当我们创建一个文件时,这个文件默认就会被设置默认权限。
# touch 1.txt # ls -l 1.txt -rw-r--r-- 1 root root 0 Sep 13 14:48 1.txt # mkdir abc # ll -d abc drwxr-xr-x 2 root root 4096 Sep 13 14:51 abc
可以看到,新创建的文件权限为644,目录权限为755。那么这个644是怎么来的呢?原来系统会给新创建的文件默认权限,这个默认权限可以通过umask来查看。
# umask 0022 # umask -S u=rwx,g=rx,o=rx
通过umask -S查看的权限即为新创建目录的默认权限,如果新创建的文件类型是文件的话,则需要减去x权限,所以新文件的默认权限是644(rw-r-xr-x)
我们还可以通过umask来修改文件的默认权限
umask 770
文件隐藏属性
不知道大家用过宝塔没,当我们通过宝塔新建一个站点的时候,宝塔默认会在网站的根目录下创建一个.user.ini文件。这个文件很奇怪,即使你是root用户,想要删除它也办不到。会出现下面的提示信息:
# rm -f .user.ini rm: cannot remove ‘.user.ini’: Operation not permitted
这里我们要讲下另一个概念,文件的隐藏属性,为什么叫隐藏属性呢?因为你通过ls -l是看不出这个文件有什么不一样的。
# ll .user.ini -rw-r--r-- 1 root root 51 Sep 5 18:48 .user.ini
想要看出蹊跷,就需要使用lsattr来查看
# lsattr .user.ini ----i--------e-- .user.ini
这里,我们需要记住几个字符的含义:
i表示系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
a表示系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
所以,如果我们想要删除这个文件就需要修改它的隐藏属性。通过chattr可以做到。
# chattr -i .user.ini # rm -f .user.ini <===删除成功了
Atas ialah kandungan terperinci linux系统下文件的默认权限以及隐藏属性的作用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!