Linux文件的权限与解析

一,文件的基本权限:

通常,你使用ls -l 命令,就会看到这样的行:

 Linux文件的权限与解析

让我们解析一下这些字段代表的意思:

-rw-r–r–. 1 root root 1018 Nov 6 2016 usb_modeswitch.conf

文件类型权限  硬链接数 文件所有者 文件所属组 文件容量  文件最后被修改时间  文件名

既然是要讲权限,自然只讲文件类型权限了^_^

-rw-r–r–

(1)其中,权限组成为:

– : 代表文件类型

-rw: 文件拥有者的权限

r–:文件所属群组的权限

r–:  其它人的权限

(2)每个权限组又由rwx组成

其中:

r : 代表可读的权限,代表数字为4

w: 代表可写的权限,代表数字为2

x : 代表可执行的权限,代表数字为1

举例:

 Linux文件的权限与解析

补充,上例中–代表文件类型,文件类型分为

d :目录文件

l :符号链接(指向另一个文件,类似于window系统中的快捷方式)

s :套接字文件

b :块设备文件,二进制文件

c :字符设备文件

p :命名管道文件

– :普通文件,不属于以上几种类型的文件

举例:

 Linux文件的权限与解析

文件的权限也可以用chmod修改,以下是实例:

 Linux文件的权限与解析

注:文件或目录的权限不是越大越好,一般按需配给,默认的目录权限为755,文件权限为644(root用户是644,普通用户是664),777是最大的权限值,但权限值越大越意味着不安全,至于为什么,慢慢看吧!^_^

二,文件与目录的默认权限:

前面已经说了默认的目录权限为755,文件权限为644,那么怎么知道这些默认权限,又怎么改变默认权限呢?

umask是查看文件与目录默认权限的命令,例如:

 Linux文件的权限与解析

那么什么是默认权限呢?通过例子你就会明白了。

 Linux文件的权限与解析

再切换到root用户:

 Linux文件的权限与解析

解释:我们知道文件的默认权限普通用户文件是664,root用户是644,即是这样。那么它们是怎么来的呢?如下所示:

root:666-022=644

普通用户:666-002=664

  我们知道,root用户的权限很大,所以给文件644的权限就可以了,而普通用户没有那么大的权限,所以给了664。644可以写为-rw-r–r–,而664可以写为-rw-rw-r–。当然如果一个普通用户创建了一个文件,664代表不仅他自己可以读写该文件,与用户同组的人也可以读写,这就方便了实际工作中的需求。假如像root用户一样设置成了644,同组的人就不能了哦!

注:你一定很疑惑,默认权限为什么会是四位呢,我们先别急,答案在下面。^_^

现在讨论一下怎么修改默认值:

用实例来解释吧:

Linux文件的权限与解析 

 Linux文件的权限与解析

由上图可知,将umask改为002,用666-002=664,是正确的。但是,将umask改为003,时,只以为666-003=663是不对的,因为结果是644。这是为什么呢?这是因为相减的并不能简单的理解为数字,而是应该这样理解:

666     减 002 等于 664

rw-rw-rw-  减    ——-w- 等于   rw-rw-r–

 

     666 减 003 等于 664

  rw-rw-rw-  减    ——-wx 等于   rw-rw-r–

那么到底能不能用666相减呢,还是能的。当umask值是偶数时,正常用666减去umask值;当umask值是奇数时,在用666相减的情况下,在相减的奇数位加一,如:

666 – 003 = 66(3+1)= 664

三,文件隐藏属性

是的,部件还有隐藏属性哦!^_^

 Linux文件的权限与解析

这便是文件的特殊权限:SUID,SGID,SBIT

下面我将逐一介绍这三者的特征

(1)SUID:

当文件拥有者的x权限上出现s时,例如-rwsr-xr-x,此时就被称为Set UID,简称为SUID的特殊权限。SUID的限制与功能:

SUID权限仅对二进位程序有效;

运行者对于该程序需要具有x的可运行权限;

本权限仅在运行该程序的过程中有效;

运行者将具有该程序拥有者的权限。

实例:

 Linux文件的权限与解析

(2)SGID:

当s标志在文件拥有者的x项目为SUID,那s在群组的x时则称为Set GID

与SUID不同的是,SGID可以针对文件或目录来配置!如果是对文件来说,SGID有以下功能:

SGID对二进位程序有用;

程序运行者对于该程序来说,需要具备x的权限;

运行者在运行的过程中将会获得该程序群组的支持。

对目录的功能:

使用者对于此目录具有r与x的权限时,该使用者能够进入此目录;

使用者在此目录下的有效群组将会变成该目录的群组;

用途:若使用者在此目录下具有w的权限(可以创建文件),则使用者所创建的新文件,该新文件的群组与此目录的群组相同

实例:

Linux文件的权限与解析

(3)SBIT:

SBIT即Sticky Bit目前只针对目录有效,对于文件已经没有效果了,其作用有:

当使用者对于此目录具有w,x权限,亦即具有写入的权限时;

当使用者在该目录下创建文件或目录时,仅有自己与root才有权力删除该文件。

 Linux文件的权限与解析

(4)用户权限配置:

前面看到文件权限是四位,我们只讲了后三位。那么第一位是什么意思了?其实这就与刚才讲的隐藏权限有关。

通常:4代表SUID

    2代表SGID

  1代表SBIT

例如:

 Linux文件的权限与解析

补充 :当我们配置文件隐藏权限时,s与t都是取代x这个权限的,但是当user, group以及others都没有x这个可运行的权限时,再赋予s或t的权限,就会变成大写的S与T。

 Linux文件的权限与解析

 

 

 

 

 

 

 


原创文章,作者:xxcj,如若转载,请注明出处:http://www.178linux.com/83309

赞 (0)
xxcjxxcj
上一篇 2017-07-30 16:36
下一篇 2017-07-30 16:56

相关推荐

  • 搭建简单的svn服务器

        svn在版本控制方面还是挺有用的。坑运维的人中就有研发,出补丁或版本的时候很坚定的说“升吧,没问题”,结果升上去后就会狂报错。所以运维的要在打补丁,尤其是改动很大的时候一定要把后路想好。否则会长时间的影响业务。svn就有一个很好的机制–回退(当然你也可以事先备份下),可以回退到之前的某个时间节点,操作很方便的。当然sv…

    Linux干货 2015-11-18
  • Linux发展及简单命令

    一 计算机的组成及其功能 冯·诺依曼提出的计算机体系结构:计算机由控制器、运算器、存储器、输入设备、输出设备五部分组成。 二 Linux的发行版 Linux发行版主要有三个分支:Debian、Slackware、Redhat。 (1)Debian:(以社区的方式运作) Ubuntu:基于Debian开发的开源Linux操作系统,主要针对桌面和服务器; Lin…

    2018-03-02
  • Mogilefs使用Nginx实现代理访问

    MogileFS介绍:  MogileFS是一个开源的分布式文件存储系统,由LiveJournal旗下的DangaInteracitve公司研发。可支持文件自动备非的功能,提供高可用性和高可扩展性。 MogileFS组件:  trackers:   MoglieFS的调度器,是mogileFS的核心,访问入口。  功能…

    Linux干货 2015-08-06
  • MySQL管理应用入门(一)

    什么是数据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。 在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。 例如, 企业或事业单位的人事部…

    Linux干货 2017-07-08
  • samba

    samba samba概述 samba原理 samba服务 samba的命令 samba搭建实例 使用GUI工具SWAT管理samba samba概述 什么是samba? samba是基于smb(Server Message Block)协议的一种实现方式。 samba的功能是什么? samba能够用来在windows,unix平台间实现文件共享服务,不同于…

    Linux干货 2016-04-28
  • 文件系统的挂载使用总结

    文件系统使用 除根文件系统以外的文件系统创建后要使用需要先挂载至挂载点后才可以被访问,挂载点即分区设备文件关联的某个目录文件,挂载命令mount和 卸载命令umount; 挂载点: mount_point,作为被挂载的文件系统的访问入口; 作为挂载点需要满足三个条件:  (1)这个目录事先存在  (2)使用未被或不会被其他进程使用到的目录…

    系统运维 2016-11-19