三、Linux 文件权限管理

一、权限管理 - chmod 

命令管理:chmod

命令英文原意:change the permissions mode of a file

命令所在路径:/bin/chmod

执行权限:所有用户

功能描述:改变文件或目录权限

语法:chmod [{ugoa}{+-=}{rwx}] [文件或目录]

                -R :递归修改

每个参数含义如下图:

举例:

# 下面就给 “chmod.txt” 赋予各种权限,默认权限为“-rw-r--r--”
[root@TR chmod]# ll
total 0
-rw-r--r-- 1 root root 0 Jan 10 19:23 chmod.sh

# 1. 给所有者赋予“执行”权限
[root@TR chmod]# chmod u+x chmod.sh
[root@TR chmod]# ll
total 0
-rwxr--r-- 1 root root 0 Jan 10 19:23 chmod.sh

# 2. 给所属组赋予“写”权限
[root@TR chmod]# chmod g+w chmod.sh
[root@TR chmod]# ll
total 0
-rwxrw-r-- 1 root root 0 Jan 10 19:23 chmod.sh

# 3.给其它人赋予“写”权限
[root@TR chmod]# chmod o+w chmod.sh
[root@TR chmod]# ll
total 0
-rwxrw-rw- 1 root root 0 Jan 10 19:23 chmod.sh
[root@TR chmod]# 

# 4.给所有者减少执行权限
[root@TR chmod]# chmod u-x chmod.sh
[root@TR chmod]# ll
total 0
-rw-rw-rw- 1 root root 0 Jan 10 19:23 chmod.sh

# 5.给文件赋予指定的权限
[root@TR chmod]# chmod u=rwx chmod.sh
[root@TR chmod]# ll
total 0
-rwxrw-rw- 1 root root 0 Jan 10 19:23 chmod.sh
[root@TR chmod]# 

# 6.可以同时设置多个授权,使用“,”分隔
[root@TR chmod]# ll
total 0
-rwxrw-rw- 1 root root 0 Jan 10 19:23 chmod.sh
[root@TR chmod]# chmod u=r,o=x chmod.sh
[root@TR chmod]# ll
total 0
-r--rw---x 1 root root 0 Jan 10 19:23 chmod.sh
[root@TR chmod]# 

除了使用“rwx” 的方式赋予权限之外, 还可以使用数字的方式赋予权限, 并且数字的方式在工作中使用的更多, 因为它比较简洁,下面就来看下如何使用数字的方式赋予权限吧。数字赋予权限的方式是:

  • r  ---------------  4
  • w --------------- 2
  • x ---------------- 1

如上述, 使用数值的方式赋予权限, “rwx” 一一对应的值是“421”, 下面就使用一个案例来带大家深入了解一下使用方式。

[root@TR chmod]# ll
total 0
-r--rw---x 1 root root 0 Jan 10 19:23 chmod.sh
[root@TR chmod]# chmod 777 chmod.sh 
[root@TR chmod]# ll
total 0
-rwxrwxrwx 1 root root 0 Jan 10 19:23 chmod.sh
[root@TR chmod]# 

我们讲过, "rwx"分别代表数字“421”, 那么如果我们想赋予“rwx” 的权限的话,只需要“4+2+1=7” 即可, 上述例子:给chmod.sh赋予3个“rwx”权限, 那么只需要“chmod 777 chmod.sh ” 即可。 以此类推, 如下:

# 1. chmod.sh 赋予 “rwxr-xr-x”权限, 所以应该是“4+2+1”+“4+1”+“4+1” = 755
[root@TR chmod]# ll
total 0
-rwxrwxrwx 1 root root 0 Jan 10 19:23 chmod.sh
[root@TR chmod]# chmod 755 chmod.sh
[root@TR chmod]# ll
total 0
-rwxr-xr-x 1 root root 0 Jan 10 19:23 chmod.sh


# 2. chmod.sh 赋予 “r-x-w---x”权限, 所以应该是“4+1”+“2”+“1” = 521
[root@TR chmod]# chmod 521 chmod.sh
[root@TR chmod]# ll
total 0
-r-x-w---x 1 root root 0 Jan 10 19:23 chmod.sh
[root@TR chmod]# 

 看到这里, 有些小伙伴是不是觉得权限很简单,那么我来举个例子,看各位掌握的如何。

例:下载有一个“dic”的文件夹,和一个“file.txt” 的目录 , 并且“dic”的权限为“777”,“file.txt” 没有任何权限。假设我现在登录的不是管理员, 大家说说当前登录者是否有权限删除“file.txt”文件?

答案是可以的。 有些小伙伴可能就疑惑了, 为什么“file.txt”没有任何权限也可以删除呢。那是因为大家对权限理解有些许误区, 下面来看一个表格:

权限字符 权限 对文件的含义 对目录的含义
r 读权限

可以查看内容(可执行的命令:cat

moreheadtailless等等)

可以列出目录中的内容(可执行的命令:lsll等等)
w 写权限 可以修改内容(可执行命令:vivim

可以在目录中创建、删除文件(可执行的命令:touch

mkdirrmdirrm等等)

x 执行权限

可以执行文件(例如:shell脚本

command等等)

可以进入目录(可执行命令:cd等等)

所以,根据上述表格所阐述的, 如果拥有一个文件夹(目录)的写权限,那么就可以删除目录下的文件。

:如果仔细观察, 一般情况下,目录的 “r” 和“x”权限是同时存在的,就如:一个用户如果拥有了“r”权限, 也就意味着可以执行lsll等命令, 但是如果没有“x”权限, 也就是无法进入目录,那么两者相悖的。那么单独设置“r” 或者“x”权限也就没有意义了。

二、权限管理 - chown 

命令管理:chown

命令英文原意:change file ownership

命令所在路径:/bin/chown

执行权限:所有用户

功能描述:改变文件或目录的所有者

语法:chown [用户] [文件或目录]

范例:例如将 “chown.txt” 文件的所属者改为 “pangtaiyi”(pangtaiyi 用户必须存在)

[root@TR ~]# chown pangtaiyi chown.txt

三、权限管理 - chgrp

命令管理:chgrp

命令英文原意:change file group ownership

命令所在路径:/bin/chgrp

执行权限:所有用户

功能描述:改变文件或目录的所属组

语法:chown [用户组] [文件或目录]

范例:例如将 “chgrp.txt” 文件的所属组改为 “pangtaiyiGroup”(pangtaiyiGroup 用户组必须存在)

[root@TR ~]# chgrp pangtaiyiGroup chgrp.txt

四、权限管理 - umask

命令管理:umask

命令英文原意:the user file-creation mask

命令所在路径:/bin/umask

执行权限:所有用户

功能描述:显示、设置文件的缺省权限

语法:umask [-S]

                -S:以 rwx形式显示新建文件的缺省权限

举例:

# 1.查询当前linux系统中的缺省权限
[root@TR umask]# umask -S
u=rwx,g=rx,o=rx

# 2.创建一个文件夹,查看其权限
[root@TR umask]# mkdir umask
[root@TR umask]# ll
total 4
drwxr-xr-x 2 root root 4096 Jan 14 21:48 umask

 我们发现,新建的目录和系统的缺省权限一致, 下面试试创建一个“umask.txt”文件

# 1.创建一个 umask.txt 文件
[root@TR umask]# touch umask.txt
[root@TR umask]# ll
total 0
-rw-r--r-- 1 root root 0 Jan 14 21:42 umask.txt
[root@TR umask]# 

奇怪,为什么新建的文件权限和系统的缺省权限不一样呢?

如果仔细观察对比, 不难发现, 新建的文件权限和目录权限相差了三个“x”权限,那是因为, 在linux 系统中, 缺省创建的文件是不可以具有可执行权限的

Guess you like

Origin blog.csdn.net/IT_rookie_newbie/article/details/122397251