了解Linux文件时间属性与默认权限

1.文件的时间属性

  • mtime(修改时间,modification time):当文件内容发生变化时,会更新这个时间。ls -l默认显示的就是文件最近被修改的时间。
  • ctime(状态时间,status time):当文件的属性发生改变时,例如文件权限变更时,会更新这个时间。ls -l –time=ctime可以查看最近改变文件的的状态时间。
  • atime(读取时间,access time):当文件被读取时,例如cat等,会更新这个时间。ls -l –time=atime可以查看文件最近被读取的时间。

touch命令可以自定义文件的时间属性,有兴趣可查阅touch的使用方法。

2.文件的默认权限

我们直到Linux新建的文件与目录的默认权限分别为0644,0755。这个默认权限和umask有关。umask值可以通过umask或umask -S命令查看。默认值为0022。需要注意是第一个数字指的是特殊权限的默认值。

[root@Ansible user1]# umask
0022
[root@Ansible user1]# umask -S
u=rwx,g=rx,o=rx

那么默认权限是何如计算的呢?

首先我们需要了解的可执行权限(x)对于文件和目录的意义是完全不一样的。x对于文件来说是确定文件是否可执行,而对于目录来说是决定用户是否能进入此目录。而认为一般文件通常只是记录数据,而不需要执行权限。但是目录则必须需要有x权限。

因此,Linux系统用户新建的文件最大权限为0666,目录最大权限为0777。

而我们新建的文件与目录的实际权限等于:最大权限-umask权限

从而得出:

文件默认权限等于:0666-0022=0644

目录默认权限等于:0777-0022=0755

3.umask默认值修改

[root@Ansible user1]# umask 0011
[root@Ansible user1]# umask
0011
[root@Ansible user1]# umask -S
u=rwx,g=rw,o=rw


「 文章如果对你有帮助,请点个赞哦^^ 」 

2+