欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  运维

linux系统下文件的默认权限以及隐藏属性的作用

程序员文章站 2022-04-04 22:26:18
...

文件默认权限

当我们创建一个文件时,这个文件默认就会被设置默认权限。

# 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  <===删除成功了

以上就是linux系统下文件的默认权限以及隐藏属性的作用的详细内容,更多请关注其它相关文章!

相关标签: linux