Linux 文件主要属性:文件类型、文件权限、文件属主、文件属组、文件大小、文件时间戳、文件名称。可以通过 ls -l 命令查看或通过 stat 命令针对单独文件查看文件元数据。

[root@VMredhat6 ~]# ls -l

total 108

-rw——-. 1 root root 1555 Jul 13 17:38 anaconda-ks.cfg

drwxr-xr-x. 2 root root 4096 Jul 13 10:24 Desktop

drwxr-xr-x. 2 root root 4096 Jul 13 10:24 Documents

drwxr-xr-x. 2 root root 4096 Jul 13 10:24 Downloads

-rw-r–r– 1 root root 57995 Jul 23 13:10 install.log

-rw-r–r–. 1 root root 11376 Jul 13 17:35 install.log.syslog

一、文件权限简介

1、文件九个字符意义如下图所示:
在这里插入图片描述
2、权限进制表示
在这里插入图片描述
3、rwx对文件意义如下:

r:可以使用内容查看类的命令来显示文件相关内容

w: 可以使用编辑器修改文件内容,但需要配置r权限一起使用

x:可以将文件发起一个进程进行执行

4、rwx对目录意义如下:

r:可以使用ls命令查看目录内容的文件信息,但使用cd切换不了其它目录

w:可以创建、删除目录里的文件,也可以删除当前目录,但需要配合rx两个权限一起使用

x:可以使用ls -l命令来查看目录内容的文件信息,并且可以使用cd命令切换此目录为工作目录,但需配合r权限一起使用

二、文件操作

我们对于文件的赋权通常包括三个部分<所有者权限><同组内用户权限><其他用户权限>. 对于权限, 我们一般有两种表示方式: 字符形式 与 数字形式.

字符形式, 主要是方便读. 数字形式主要是方便授权.

我们在使用命令授权的时候经常使用chmod 777 /tmp/hello/ 而不会写成 chmod u+x /tmp/hello/. 主要是因为使用方便. 但是读取的时候, 还是使用字符的形式, 更加方便

chmod命令用来变更文件或目录的权限

标注:操作指定类别用户的权限:使用u,g,o,a来赋权,基于=或者+/—来进行

u:属主

g:属组

o:其他

a:所有用户

=:会覆盖原来权限

+/—:不会覆盖原来权限

chmod 755 filename #给文件filename赋予755权限,u=rwx,g=rx,o=rx

chmod u=rwx,g=rx.o=rx filename #给文件filename赋予755权限,u=rwx,g=rx,o=rx

chmod u=rwx,go=rx filename #给文件filename赋予755权限,u=rwx,g=rx,o=rx

chmod u+rwx,g+rx,o=rx filename #给文件filename赋予755权限,u=rwx,g=rx,o=rx

chmod a=rwx filename #给文件filename赋予777权限,等同于ugo=rwx

chmod –reference=testfile filename #以testfile文件权限为参照,赋予filename文件权限

uamsk 设置限制新建立文件权限的掩码

标注:umask查看文件权限掩码,使用最后三位表示,Linux 系统默认使用文件掩码 777-022(umask)=755 ,

Linux 系统默认目录文件掩码 666-022(umask)=644。需要特别注意的一点是Linux 系统默认文件在创建时决

不允许出现执行权限(权限命令分配除外),但文件目录可以出现执行权限。

root管理员默认创建文件的权限:

[root@VMredhat6 ~]# umask

0022

[root@VMredhat6 ~]# umask -S

u=rwx,g=rx,o=rx

普通用户默认创建文件的权限:

[admin01@VMredhat6 ~]$ umask

0002

[admin01@VMredhat6 ~]$ umask -S

u=rwx,g=rwx,o=rx