Linux基础之文件权限详解

Linux中对于权限的制定虽然没有Windows的那么精细,但是如果你了解并掌握Linux中文件的权限知识,也可以像Windows那样对权限做到精确配置。



Linux中的文件权限是什么?


如何查看Linux中的文件权限

[[email protected] test]# ll -d /test/

drwxr-xr-x. 2 root root 52 8月   7 20:18 /test/

上面的rwxr-xr-x即为文件的权限位共九位。下面分别对其进行介绍。


                rwx∣r-x∣r-x

                ↓    ↓   ↓

                属主 属组 其他

前三个为属主位:创建该文件者或被指定的文件所属者

中间三个为属组位:文件的所属组,在该组内的非属主用户对该文件拥有该属组权限。

最后三个Other位:other用户,既不属于属主又不在属组的用户

r:读权限    w:写权限    x:执行权限

文件中rwx的具体含义:

r:可以使用类似cat等命令查看文件内容

w:可以编辑或删除此文件

x:可以在命令提示符下当做命令提交给内核运行

目录中rwx的具体含义:

r:可以对此目录执行ls以列出内部的所有文件

w:可以在此目录创建文件:

x:可以使用cd切换进此目录,也可以使用ls -l查看内部文件的详细信息

下面请看一个对应关系

000 ---  对应十进制0

001 --x  对应十进制1

010 -w-  对应十进制2

011 -wx  对应十进制3

100 r--  对应十进制4

101 r-x  对应十进制5

110 rw-  对应十进制6

111 rwx  对应十进制7

上面rwx三位与三位二进制对应,因此权限也可以用数字表达

比如:

755代表rwxr-xr-x  664代表rw-rw-r--



管理Linux中的文件权限:

chmod chown chgrp umask

chmod  修改文件权限位命令

chmod - change file mode bits

表达格式

chmod [OPTION]... MODE[,MODE]... FILE...

       chmod [OPTION]... OCTAL-MODE FILE...

       chmod [OPTION]... --reference=RFILE FILE...

常用选项

-R 递归,将设置的权限应用到下面的所有文件

1、chmod [OPTION]... MODE[,MODE]... FILE...

赋权表示法:u=属主  g=属组  o=其他  a=所有

直接操作一类用户的所有权限位 rwx

写法:u=rwx

[[email protected] test]# ll
总用量 16
-rw-r--r--. 1 root root 43 8月   7 16:46 cat1
-rw-r--r--. 1 root root 19 8月   7 16:46 cat2
-rw-r--r--. 1 root root 57 8月   7 19:34 head
-rw-r--r--. 1 root root 55 8月   7 20:18 siting
[[email protected] test]# chmod u=rwx,g=rwx cat1 
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 root root 43 8月   7 16:46 cat1
-rw-r--r--. 1 root root 19 8月   7 16:46 cat2
-rw-r--r--. 1 root root 57 8月   7 19:34 head
-rw-r--r--. 1 root root 55 8月   7 20:18 siting

同时更改多个所属对象权限,中间用“,”隔开

授权表示法:直接操作一类用户的一个权限为r,w,x

写法:u+(r|w|x) u-(r|w|x) g+(r|w|x) g-(r|w|x) o+(r|w|x) o-(r|w|x)

a+(r|w|x) a-(r|w|x)

[[email protected] test]# chmod u+x,g+w cat2
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 root root 43 8月   7 16:46 cat1
-rwxrw-r--. 1 root root 19 8月   7 16:46 cat2
-rw-r--r--. 1 root root 57 8月   7 19:34 head
-rw-r--r--. 1 root root 55 8月   7 20:18 siting

2、chmod [OPTION]... OCTAL-MODE FILE...

[[email protected] test]# chmod 755 head 
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 root root 43 8月   7 16:46 cat1
-rwxrw-r--. 1 root root 19 8月   7 16:46 cat2
-rwxr-xr-x. 1 root root 57 8月   7 19:34 head
-rw-r--r--. 1 root root 55 8月   7 20:18 siting

3、chmod [OPTION]... --reference=RFILE FILE... 指定目标文件与所指文件的权限一致(不常用)

[[email protected] test]# chmod --reference=cat1 siting  
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 root root 43 8月   7 16:46 cat1
-rwxrw-r--. 1 root root 19 8月   7 16:46 cat2
-rwxr-xr-x. 1 root root 57 8月   7 19:34 head
-rwxrwxr--. 1 root root 55 8月   7 20:18 siting

siting与cat1文件的权限保持一致


chown 修改属主属组

chown - change file owner and group

表达格式:

       chown [OPTION]... [OWNER][:[GROUP]] FILE...

       chown [OPTION]... --reference=RFILE FILE...

常用选项:

-R 递归修改该

1、chown [OPTION]... [OWNER][:[GROUP]] FILE...

[[email protected] test]# chown gentoo:fedore cat1
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 gentoo fedore 43 8月   7 16:46 cat1
-rwxrw-r--. 1 root   root   19 8月   7 16:46 cat2
-rwxr-xr-x. 1 root   root   57 8月   7 19:34 head
-rwxrwxr--. 1 root   root   55 8月   7 20:18 siting

2、chown [OPTION]... --reference=RFILE FILE...

[[email protected] test]# chown --reference cat1 cat2
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 gentoo fedore 43 8月   7 16:46 cat1
-rwxrw-r--. 1 gentoo fedore 19 8月   7 16:46 cat2
-rwxr-xr-x. 1 root   root   57 8月   7 19:34 head
-rwxrwxr--. 1 root   root   55 8月   7 20:18 siting

因为chown既可以改属主又可以改属组所以下面这个chgrp命令就被打入冷宫,为了缅怀一下它,这里还是简要介绍下

chgrp - change group ownership 修改属组

表达格式:

       chgrp [OPTION]... GROUP FILE...

       chgrp [OPTION]... --reference=RFILE FILE...

[[email protected] test]# chgrp gentoo head 
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 gentoo fedore 43 8月   7 16:46 cat1
-rwxrw-r--. 1 gentoo fedore 19 8月   7 16:46 cat2
-rwxr-xr-x. 1 root   gentoo 57 8月   7 19:34 head
-rwxrwxr--. 1 root   root   55 8月   7 20:18 siting
[[email protected] test]# chgrp --reference cat1 siting 
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 gentoo fedore 43 8月   7 16:46 cat1
-rwxrw-r--. 1 gentoo fedore 19 8月   7 16:46 cat2
-rwxr-xr-x. 1 root   gentoo 57 8月   7 19:34 head
-rwxrwxr--. 1 root   fedore 55 8月   7 20:18 siting


umask :文件的权限反向掩码,俗称遮罩码

作用:它是为了控制默认权限,不要使默认的文件和目录具有全权而设的

文件:666-umask

目录:777-umask

:之所以文件用666去减,表示文件默认不能拥有执行权限,如果减得的结果中有执行权限,则需+1

umask:查看当前umask

[[email protected] test]# umask
0022

umask MASK :设置umask  仅对当前shell进程有效

若要长期修改umask的值,可以把它写进/etc/profile(全局有效)或~/.profile(个人)或~/.bash_profile

[[email protected] test]# umask 0002
[[email protected] test]# umask
0002
[[email protected] test]# touch umask1
[[email protected] test]# ll
总用量 16
-rwxrwxr--. 1 gentoo fedore 43 8月   7 16:46 cat1
-rwxrw-r--. 1 gentoo fedore 19 8月   7 16:46 cat2
-rwxr-xr-x. 1 root   gentoo 57 8月   7 19:34 head
-rwxrwxr--. 1 root   fedore 55 8月   7 20:18 siting
-rw-rw-r--. 1 root   root    0 8月   8 20:49 umask1

使用root用户创建一个新文件umask1其权限为664,umask为0002,其新建文件的权限符合我们的设定:666-002=664。

时间: 2024-12-08 06:05:56

Linux基础之文件权限详解的相关文章

Linux文件权限详解

在Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变为任何他想指定的权限.一个文件也许只有读权限

【Linux学习】Linux下用户组、文件权限详解

原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用户名 文件名来修改文件的所有者 文件所在组 当某个用户创

Linux文件权限详解 文件和目录权限概述

Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变

Linux基础知识之挂载详解(mount,umount及开机自动挂载)

Linux基础知识之挂载详解(mount,umount及开机自动挂载) 转载自:http://www.linuxidc.com/Linux/2016-08/134666.htm 挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现,此关联操作即为"挂载",此目录即为"挂载点",解除此关联关系的过程称之为"卸载" 1.挂载:根文件系统外通过关联至根文件系统上的某个目录来实现访问

学习笔记-《Linux基础知识之挂载详解(mount,umount及开机自动挂载)》

<Linux基础知识之挂载详解(mount,umount及开机自动挂载)>来源:Linux社区  作者:chawan 原文链接 http://www.linuxidc.com/Linux/2016-08/134666.htm 以下是学习作者这篇文章做的一些摘要及学习体会. 重要概念(经典原文引述) 挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现,此关联操作即为"挂载",此目录即为"挂载点

Linux学习之ACL权限详解(十)

Linux系统ACL权限详解 目录 ACL权限简介与开启 查看与设定ACL权限 最大有效权限与删除ACL权限 默认ACL权限和递归ACL权限 ACL权限简介与开启权限 ACL权限简介 用户权限管理始终是Linux系统管理中最重要的环节.大家对Linux/Unix的UGO权限管理方式一定不陌生,还有最常用的chmod命令. 为了实现一些比较复杂的权限管理,往往不得不创建很多的组,并加以详细的记录和区分. 有一种方法可以实现灵活的权限管理(文件的额外赋权机制)除了文件的所有者,所属组和其他人,可以对

Linux下用户组、文件权限详解

在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用户名 文件名来修改文件的所有者 文件所在组 当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组 用ls ‐ahl命令可以看到文件的所有组 也可以使用chgrp 组名 文件名来修改文件

CentOS \Linux文件权限详解

文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一个预先指定的用户组中的用户访问:允许系统中的任何用户访问.同时,用户能够控制一个给定的文件或目录的访问程度.一个文件活目录可能有读.写及执行权限.当创建一个文件时,系统会自动地赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件.文件所有者可以将这些权限改变为任何他想指定的权限.一

Linux基础命令(之一)详解

Linux基础命令(之一)详解 学习linux的朋友都知道,系统大多数操作都是命令行的操作方式,当然如今也有图形化界面的操作方式,但是多数情况下仍然使用命令的操作模式,所以命令的作用与用法是成为学好.学会Linux系统的必备前提,也是重点之一,所以今天来聊一聊一些基础命令的用法与其作用. 1.系统关机或重启命令(小白也必须要会的) shutdown (win 系统也有) 常用参数:shutdown -h (halt) 直接关机(关闭电源) shutdown -h  now[+10]    现在关