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. SYN6107型 GPS北斗双模子钟

    SYN6107型 GPS北斗双模子钟 产品概述 SYN6107型GPS北斗双模子钟是由西安同步电子科技有限公司精心设计.自行研发生产的一套以接收北斗卫星信号的子钟,从北斗地球同步卫星上获取标准时钟信号 ...

  2. 【原创】Metro大都会扫码乘地铁技术大揭密

    本文观点仅为技术猜解,不代表官方线上真实方案.   风靡上海的扫码乘地铁,从2018年1月20日全面支持,至今近10天了.起初不以为然,过了大概1个礼拜左右,也下载了Metro大都会APP,开始体验扫 ...

  3. gitlab安装笔记二_Centos7配置163yum源

    进入配置目录 cd  /etc/yum.repos.d 压缩备份原有的配置 sudo tar cvf  base.tar.gz   *.repo 可以解压查看备份 sudo tar xvf base. ...

  4. 04 body中的相关标签

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 解决安装Oracle本地可以访问客户端不能访问

    现象:本地需要修改监听为localhost -->win+r--> sqlplus system/123@xxdb 可以登陆,远程客户端不能登陆:需要将监听修改为IP地址,重启监听:远程可 ...

  6. 给 Windows 的终端配置代理

    初衷 由于项目开发使用go,所以经常要用到go get,但是吧,terminal下根本没办法下载啊,经常下载三个小时包,写代码一个小时 迫于无奈,只好找个方式可以在terminal下使用ss cmd下 ...

  7. 基于STM32之UART串口通信协议(四)Printf发送

    一.前言 1.简介 前面在UART发送中已经讲解过如何调用HAL库的HAL_UART_Transmit函数来实现串口发送,而在调用这个函数来实现串口发送的话,但是在发送数据或者字符的时候,需要将数据或 ...

  8. [apue] 使用 popen/pclose 的一点疑问

    当我们需要将输出作为标准输入传递给一个命令,或者将一个命令的输出作为标准输入来读取, 一般会想到使用pipe与fork相结合的方式,来重定向标准输入/输出给指定命令. popen/pclose 帮助我 ...

  9. 机器学习读书笔记(一)k-近邻算法

    一.机器学习是什么 机器学习的英文名称叫Machine Learning,简称ML,该领域主要研究的是如何使计算机能够模拟人类的学习行为从而获得新的知识和技能,并且重新组织已学习到的知识和和技能,使之 ...

  10. redis RDB 和AOF

    参考文献 Redis源码学习-AOF数据持久化原理分析(0) Redis源码学习-AOF数据持久化原理分析(1) Redis · 特性分析 · AOF Rewrite 分析 深入剖析 redis AO ...