[root@timy-test-k8s01 ~]# ll
total 8
-rw-------.  1 root root 1324 Apr 14 03:23 anaconda-ks.cfg
drwxr-xr-x. 13 root root 4096 Apr 23 22:53 Desktop

最开头的 - 代表是一个普通文件,通过touch创建

最开头的 d 代表是一个文件夹,通过mkdir创建

最开头的 l 代表是一个软连接,快捷方式类型

例如Destop文件夹

rwx 代表属主,代表可读 可写 可执行    文件夹主人的权限

#第一列的权限属于root (属主,文件的主人) user

r-x  代表属组,代表可读 不可写 可执行       文件夹所属组的权限

#第二列的属于root  (属组,文件呆在的用户组)    group

r-x 代表其他人,代表可读 不可写 可执行        第三者的权限

#第三列既不属主,又不属组,就属于其他人的身份        other

 

r        read 可读        可以使用cat、more、less、head、tail等命令查看文件内容

w       write 可写        可以用vim、重定向符号等,向文件中写入内容

x        executble 可执行        文件是可以执行的

-        没有权限

 

 更改文件权限的命令

chmod    u+x    filename.txt        #给文件的user属主添加可执行权限

chmod    0   filename.txt        #取消文件所有的权限

chmod    u-w     dilename.txt        #取消文件的写入权限

 

对于文件的读写执行,是如下意思

r        cat  more  less命令

w       vim  写入

x        可以执行如shell等脚本

 

文件夹的读写执行

r        ls命令,可读

w        文件夹必须先有x权限,才可以在文件夹中,创建新文件,touch、mkdir等操作

x        可以cd进入文件夹

 chmod命令

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

在UNIX系统家族里,文件或目录的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用

用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可

符号连接的权限无法变更,如果用户对符号连接修改权限,其改变作用在被连接的原始文件

 文件权限的数字与字母转化

r        read        4

w       write        2        

x        exec        1

-                        0

 

user,group,other的最大权限:rwx   4+2+1=7

user,group,other的最小权限:---     0+0+0=0

案例

练习文件权限的数字与字母转化

1.普通文件

此时有个文件的权限如下

-  rw- (user)    r--(group)   r--(other)   test.tx

 

#修改test.txt的文件权限是属主只读,属组,其他人没有权限

[root@timy-test-k8s01 Desktop]# ll
total 44
-rw-r--r--.  1 root root    17 Apr 22 05:25 alex.txt
drwxr-xr-x. 12 root root  4096 Apr 24 03:32 alltemp
-rw-r--r--.  1 root root   656 Apr 23 22:02 alltemp1.tar.gz
-rw-r--r--.  1 root root 20480 Apr 23 21:56 alltemp.tar
-rw-r--r--.  1 root root    14 Apr 19 21:34 mjj.txt
-rwxr-xr-x.  1 root root    66 Apr 16 04:14 test.sh
-rwxrwxrwx.  1 root root    43 Apr 23 02:55 test.txt
[root@timy-test-k8s01 Desktop]# chmod 400 test.txt 
[root@timy-test-k8s01 Desktop]# ll
total 44
-rw-r--r--.  1 root root    17 Apr 22 05:25 alex.txt
drwxr-xr-x. 12 root root  4096 Apr 24 03:32 alltemp
-rw-r--r--.  1 root root   656 Apr 23 22:02 alltemp1.tar.gz
-rw-r--r--.  1 root root 20480 Apr 23 21:56 alltemp.tar
-rw-r--r--.  1 root root    14 Apr 19 21:34 mjj.txt
-rwxr-xr-x.  1 root root    66 Apr 16 04:14 test.sh
-r--------.  1 root root    43 Apr 23 02:55 test.txt

#修改test.txt权限为属组只读,属主只写,其他人只读(默认角色一定是user  group  other,r  w  x顺序默认)

#字母表示形式

[root@timy-test-k8s01 Desktop]# chmod u=w,g=r,o=r test.txt 
[root@timy-test-k8s01 Desktop]# ll
total 44
-rw-r--r--.  1 root root    17 Apr 22 05:25 alex.txt
drwxr-xr-x. 12 root root  4096 Apr 24 03:32 alltemp
-rw-r--r--.  1 root root   656 Apr 23 22:02 alltemp1.tar.gz
-rw-r--r--.  1 root root 20480 Apr 23 21:56 alltemp.tar
-rw-r--r--.  1 root root    14 Apr 19 21:34 mjj.txt
-rwxr-xr-x.  1 root root    66 Apr 16 04:14 test.sh
--w-r--r--.  1 root root    43 Apr 23 02:55 test.txt

#数字表示形式

[root@timy-test-k8s01 Desktop]# chmod 244 test.txt 
[root@timy-test-k8s01 Desktop]# ll
total 44
-rw-r--r--.  1 root root    17 Apr 22 05:25 alex.txt
drwxr-xr-x. 12 root root  4096 Apr 24 03:32 alltemp
-rw-r--r--.  1 root root   656 Apr 23 22:02 alltemp1.tar.gz
-rw-r--r--.  1 root root 20480 Apr 23 21:56 alltemp.tar
-rw-r--r--.  1 root root    14 Apr 19 21:34 mjj.txt
-rwxr-xr-x.  1 root root    66 Apr 16 04:14 test.sh
--w-r--r--.  1 root root    43 Apr 23 02:55 test.txt

#修改文件权限为755,然后用字母表示改权限

chmod  755  test.txt

7(user)5(group)5(other)

user=7=4+2+1        rwx

group=5=4+1          r-x

other=5=4+1           r-x

文件权限

权限范围:

操作对象:

 

u       文件属主权限

g       同组用户权限

o       其他用户权限

a       所有用户权限(包括以上三种)

 

权限设定:

        

+        增加权限

-         取消权限

=        唯一设定权限

 

权限类别:

 

r        读权限

w       写权限

x        执行权限

X        表示只有当该文档是个子目录或者该文档已经被设定过为可执行。

s        文件属主和组id        

i         给文件枷锁,使其他用户无法访问

 chown命令

修改文件属主,属组信息

语法:

 

chown   新属主的名字   文件/文件夹     

chown   :属组    test.txt        #修改文件的用户组

chown       属主:属组        #同时修改文件的属主,属组

 

参数

-R        --recursive         递归处理所有文件及子目录

-v        --version             为处理的所有文件        

 umask命令

umask命令用来限制新文件权限的掩码

也称之为遮罩码,防止文件,文件夹创建的时候,权限过大

当新文件被创建时,其最初的权限由文件创建掩码决定

用户每次注册进入系统时,umask命令都被执行,并自动设置掩码改变默认值,新的权限将会把旧的覆盖

 

umask默认配置在/etc/profile61-64行

1.umask值就是指"Linux文件的默认属性需要减掉的权限"。

2.比如Linux普通文件的最大默认属性是666,目录文件的最大属性是777

 

语法参数:

-S:  以字符的形式显示当前的掩码

-p:  带umask开头以数字的形式显示当前掩码

 umask的权限控制

文件、文件夹的最高权限是777

1.用root用户创建的文件夹

[root@timy-test-k8s01 ~]# mkdir test
[root@timy-test-k8s01 ~]# ll
total 4
-rw-------. 1 root root 1324 Apr 14 03:23 anaconda-ks.cfg
drwxr-xr-x. 3 root root  125 May  6 03:02 Desktop
drwxr-xr-x. 2 root root    6 May 11 21:54 test

文件夹权限是755

2.root创建文本

[root@timy-test-k8s01 ~]# touch test.txt
[root@timy-test-k8s01 ~]# ll
total 4
-rw-------. 1 root root 1324 Apr 14 03:23 anaconda-ks.cfg
drwxr-xr-x. 3 root root  125 May  6 03:02 Desktop
drwxr-xr-x. 2 root root    6 May 11 21:54 test
-rw-r--r--. 1 root root    0 May 11 21:56 test.txt

文本的权限是644

 

3.通过普通用户创建文件夹

[root@timy-test-k8s01 ~]# su - duke
Last login: Thu Apr 28 23:08:38 EDT 2022 on pts/0
[duke@timy-test-k8s01 ~]$ mkdir test1
[duke@timy-test-k8s01 ~]$ ll
total 0
drwxrwxr-x. 2 duke duke 6 May 11 21:59 test1

文件夹权限是664

 

4.使用root账号查看umask的值,查看遮罩码的值

[root@timy-test-k8s01 ~]# umask
0022

计算初始文件、文件夹的权限如下

文件最大权限减去umask的值,得出文件的权限

666-022=644

文件夹,root创建的文件夹默认的权限是777,减去umask值之后,得出如下:

777-022=755

文件夹的权限是755

 

5.通过普通用户创建文件、文件夹默认权限计算

[root@timy-test-k8s01 ~]# su - duke
Last login: Wed May 11 21:59:03 EDT 2022 on pts/0
[duke@timy-test-k8s01 ~]$ umask
0002

文件最大权限是666

666-002=664,因此得出文件的默认权限是664

 

计算文件夹的权限是

777-002=775,因此得出文件夹的默认权限是775

计算umask文件权限

系统默认umask数值对应的权限

记住公式

1.默认文件、文件夹的权限,减去umask的值等于最终的权限值

2.文件最大777,文件夹最大777

 

默认umask值,root和普通用户不一样

#root用户umask

[root@timy-test-k8s01 ~]# umask    #查看当前用户预设权限
0022
[root@timy-test-k8s01 ~]# umask -S    #以字母的形式显示权限,7-0  7-2  7-2
u=rwx,g=rx,o=rx
[root@timy-test-k8s01 ~]# umask -p
umask 0022

 chattr命令

 chattr命令用于更改文件的扩展属性,比chmod更改的rwx权限更底层

参数

a:       只能向文件中添加数据,不得删除

-R:        递归更改目录属性

-V:        显示命令执行过程

 

模式:

+        增加参数

-         移除参数

=        更新为指定参数

A        不让系统修改文件最后访问时间

a        只能追加文件数据,不得删除

i         文件不能被删除、改名、修改内容

 案例

给与文件特殊的权限,chattr命令

a权限,代表只能写入数据,不得删除文件

[root@timy-test-k8s01 ~]# chattr +a test.txt      #给test.txt文件添加特殊权限a
[root@timy-test-k8s01 ~]# lsattr test.txt     #lsattr查看特殊权限命令
-----a---------- test.txt

#列出文件的特殊权限

lsattr     filename.txt

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐