lunix系统都是以文件的形式存在,自然而然的就会要求不同的用户拥有不同的权限,这也是系统能够运行的根本保证,下文将对文件的权限管理进行简要的介绍。

1、文件属性的查看

-   |      rw-rw-r--.     |    1    |     kiosk      |       kiosk    |    0    |     Jul     23     18 :26      |      file

—    ——————     ——    ————      ————     ——    ——————————     ————

1               2                 3             4                  5            6                      7                       8

1.1、"-":文件类型

常见的文件类型有:

-          普通文件

d          目录

c          字符设备

s          套接字

p          管道

b          块设备

l          连接   快捷方式   软连接

1.2、"rw-rw-r--":文件读写权限

rw-    |    rw-   |    r--

@           *          #

@表示所有人的权限,*表示所有组的权限,#表示其他人的权限。

1.3、"1"

文件内容被系统记录的次数,即要删除时删除的次数。如果是目录,就代表目录中文件属性的字节数。

1.4、"kiosk"

表示文件所有人。

1.5、"kiosk"

表示文件所有组。

1.6、"0"

表示文件内容的大小。

1.7、"Jul 23 18:26"

表示文件最后一次被修改的时间。

1.8、"file"

表示文件的名字。

2、文件所有人所有组的管理

在对文件进行管理时,有时需要改变文件或者目录的所有人或者所有组,就需要用到"chown"命令。

命令"chown username file|directory"表示更改文件的所有人,例如将"file"文件的所有人改为"wea"。

命令"chown username.groupname file|directory"表示更改所有人所有组。例如将"file"文件的所有人和所有组改为"tom"。

命令"chgrp groupname file|directory"表示更改所有组。例如将"file"文件的所有组改为"wea"。

此外,如果在改目录所有人或者所有组的时候加入参数"-R",则表示更改目录本身及里面所有人或者所有组。

3、文件的普通权限

rw-   |   rw-   |   r--

u          g          o

u说明文件所有人对文件可以读写,g说明文件组成员对文件可读,o说明其他人对文件可读。文件的普通权限有wrx三种。

3.1、w

"w"对于文件来说可以更改文件内字符,对于目录来说,可以在目录中添加删除文件。

3.2、r

"r"对于文件来说可以查看文件中的字符,对于目录来说,可以查看目录中文件的信息。

3.3、x

"x"对于文件来说可以运行文件内记录的程序动作,对于目录来说,可以进入目录中。

3.4、修改该文件权限

修改文件权限的命令为"chmod <u|g|o><+|-|=><r|w|x> file|directory"。例如下图,输入"chmod u+x file"在所有人权限上添加x。

输入"chmod g+w file"在所有组权限上添加"w"。

输入"chmod u-x,g-w file"在所有人权限上去掉"x",并在所有组权限上去掉"w"。

输入"chmod ugo+x file"表示在所有人、所有组和其他人权限上添加"x"。

3.5、数字修改权限的方式

在修改权限时,上述命令用起来过于繁琐,所有可以用数字代替。在linux中,r=4、w=2、x=1。所以命令"chmod u+rwx,og-wrx file"也可以写为"chmod 700 file",明显简单了许多。

4、系统默认权限的设定

从系统存在角度来说,开放权力越大,系统存在意义越高。但是从系统安全角度来说,开放权力越少,系统安全性越高。所以系统设定新建文件或目录会去掉一些权限。

查看系统保留权限的命令是"umask",在当前的shell中可以临时修改系统保留权限,之在当前shell中有效,例如将系统保留权限设为"077",代表建立的文件权限为700。

上述修改系统保留权限只能临时生效,如果需要永久生效,则需要作以下设定。

输入命令"vim /etc/bashrc",002为普通用户默认权限,077为超级用户默认权限。

输入命令"vim /etc/profile"。

在上图的地方设置需要的umask值,但需要注意的是,以上两个文件umask设定值必须保持一致,完成之后输入"source /etc/bashrc"和"source /etc/profile"让设定立即生效。

5、文件访问(acl)的设定

5.1、acl的定义

"acl"就是"access control",是指定特殊用户对特殊文件有特殊权。输入命令"getfacl file|directory"就可以查看特殊权限列表。例如下图输入"getfacl file",查看权限列表。在结果中,"file:file"是文件名,"owner: root"是文件所有人,"group: root"是组所有人,"user:rwx"是文件拥有者权限,"group::rwx"是组权限,"other::rwx"是其他人权限,如果出现"mask::rwx"则是权限掩码,如果出现"user:username:rwx"则是特殊用户权限。

需要注意的是,当文件上有权限列表时,"ls -l"能看到的权限是假的。

5.2、设定acl列表

添加acl列表的命令是"setfacl -m <u|g>:<username|groupname>:权限 文件|目录"。如下图,添加"wea"用户为特殊用户,有特殊权限"rwx"。

删除acl列表的命令是"setfacl -x <u|g>:<username|groupname> 文件|目录"。如下图删除刚才所添加的特殊用户"wea"。

关闭acl列表可以使用命令"setfacl -b 文件|目录"。

5.3、mask值

mask是权限掩码,用来表示能够赋予用户最大权限,但是当用chmod改变文件普通权限时可能会破坏,如下图所示。

上述情况如果需要修复,则需要输入命令"setfacl -m m:7 文件名称"。

5.4、acl默认权限的设置

当我们需求某个目录对于wea用户可写,并且目录中新建的子目录也对这个用户可写,就要设定默认权限。设定默认权限的命令为"setfacl -m d:u:wea:7 test/"。如下图所示,在原目录中重新建立一个子目录后发现新建的目录对"wea"也可写。

但是,默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,对于目录本身也无效。

6、特殊权限

6.1、冒险位权限suid

此权限只针对二进制可执行文件,使用效果是文件内记录的程序产生的进程的所有人为文件所有人,和和进程发起人身份无关。设定方式为:"chmod u+s file"或者"chmod 4xxx file"。

例如下图,一般情况下wea用户并不能删除"/root/test",输入"chmod u+s /bin/rm"命令之后,使得删除时删除进程的所有人为root,从而删除"/root/test"。

6.2、强制位权限sgid

此权限主要应用与目录,使用效果是目录中新建的所有文件的所有组都自动归属到目录的所有组之中,和文件建立者所在的组无关。设定方式为:"chmod g+s directory"或者"chmod 2xxx directory"。

例如下图,可以看到当wea用户在"/mnt/test"目录下建立文件时,文件的所有组为"wea",但是如果输入命令"chmod g+s /mnt/test"之后,wea所建立的文件自动归属于目录的所有组"root"。

6.3、粘制位权限sticky

此权限只针对于目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除。命令为:"chmod o+t direcotry"或者"chmod   1777 direcotry"。

例如下图,可以看出,在一般情况下,student用户是可以删除wea用户所建立的文件的。但是,在输入"chmod o+t /mnt/test"命令之后,student用户无法删除wea用户所建立的文件"file"。

以上就是在linux系统的操作中关于文件权限的主要内容。

linux初学者-文件权限的更多相关文章

  1. 全面解析Linux数字文件权限

    全面解析Linux数字文件权限 来源:   时间:2013-09-04 20:35:13   阅读数:11433 分享到:0 [导读] 在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细 ...

  2. [转]Linux中文件权限目录权限的意义及权限对文件目录的意义

    转自:http://www.jb51.net/article/77458.htm linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括 ...

  3. 第六章、Linux 的文件权限与目录配置

    第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...

  4. linux初学者-文件管理篇

    linux初学者-文件管理篇 linux系统的所有东西都是以文件的形式存储在计算机中的,所以linux系统中对文件的管理非常重要.以下介绍一些文件管理的常用方法. 1.文件的建立 文件的建立或者修改文 ...

  5. 【转】第六章、Linux 的文件权限与目录配置

    原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一, ...

  6. Linux下文件权限的设置

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 ) 其语法格式为:chmod ...

  7. Linux的文件权限与目录配置

    用户与用户组(Linux是一个多用户多任务的系统) 文件所有者   设置适当的权限,其他人无法看到自己的文件 用户组概念   属于同一个用户组的可以看到这个团体的公共信息,每个账户都可以有多个用户组的 ...

  8. Linux:文件权限

    使用较长格式列出文件:ls -l显示除了 '.'(当前目录),'..' 上一级目录之外的所有包含隐藏文件(Linux 下以 '.' 开头的文件为隐藏文件): ls -Al查看某一个目录的完整属性,而不 ...

  9. Linux的文件权限

    1 文件权限的表示 (1)字母表示法 Linux中所有文件(普通文件.目录文件.字符特殊文件.块特殊文件.管道或FIFO.符号链接.套接字)都有9个权限,如下图所示: -rw-rw-r--就是文件a的 ...

随机推荐

  1. Java集合框架Collection(1)ArrayList的三种遍历方法

    ArrayList是java最重要的数据结构之一,日常工作中经常用到的就是ArrayList的遍历,经过总结,发现大致有三种,上代码: package com.company; import java ...

  2. SecureCRT的安装以及破破解(内含安装包)

    1.百度网盘连接:链接:https://pan.baidu.com/s/13i8sblGthYtj2SbUTrbmsg  提取码:8cw1 2.解压前先关闭电脑防护软件,否则会杀掉破解软件的 3.压缩 ...

  3. ABP开发框架前后端开发系列---(4)Web API调用类的封装和使用

    在前面随笔介绍ABP应用框架的项目组织情况,以及项目中领域层各个类代码组织,以及简化了ABP框架的各个层的内容,使得我们项目结构更加清晰.上篇随笔已经介绍了字典模块中应用服务层接口的实现情况,并且通过 ...

  4. python Trojan 模块(我忘记几了)—— 通信隧道建立

    0X01 SSH的建立  我想,第一步先实现简单的ssh通信再说,类似其他那种高端的C&C将逐步研究 对于ssh,python有个module叫paramiko,对没错看起来像日语单词 The ...

  5. vuex分模块后,如何获取state的值

    问题:vuex分模块后,一个模块如何拿到其他模块的state值,调其他模块的方法? 思路:1.通过命名空间取值--this.$store.state.car.list // OK 2.通过定义该属性的 ...

  6. raft算法解析

    一.raft算法引入 在寻找一种易于理解的一致性算法的研究(In Search of an Understandable Consensus Algorithm-extended version) 论 ...

  7. Xshell连接WSL

    Xshell连接WSL Windows的Windows Subsystem for Linux很好用, 可以直接使用Linux的CLI模式, 对于开发来说很友好. 安装 Windows 10系统上, ...

  8. php中\r \r\n \t的区别

    \n 软回车:      在Windows 中表示换行且回到下一行的最开始位置.相当于Mac OS 里的 \r 的效果.      在Linux.unix 中只表示换行,但不会回到下一行的开始位置. ...

  9. 微服务-springcloud学习资料链接

    API文档:https://springcloud.cc/spring-cloud-dalston.html#_spring_cloud_netflix 中文社区:http://springcloud ...

  10. jieba GitHUb 结巴分词

    1.GitHub jieba-analysis 结巴分词: https://github.com/fxsjy/jieba 2.jieba-analysis 结巴分词(java版): https://g ...