文件权限

介绍了修改文件权限的方法,umask和三种特殊权限以及acl控制访问表

一.文件权限

5

文件属性操作:

修改文件权限:

1,模式法

chmod   who opt  per   file    //修改文件权限

who : u 所有者    g所属组        o其他      a 所有

opt:     +添加       -删除       =覆盖

per:   r读       w 写       x执行

特殊X权限: 只给目录x权限,不给文件;

但是如果文件的所有者有执行权限,也会加执行权限

chmod    -R   a+x     dir1    //对dir1下的所有文件加执行权限

chown    //修改文件所有者

-R  递归

chown  wang.g1   dir1或  chown  wang:g1   dir1   //修改所属主和组

chgrp    //设置文件的属组信息   -R  递归

chmod  –reference=f1   f2  f3     //参考文件1的权限,给文件2和3设置权限

  1. 数字法:r —-4;w—–2;x—-1

Chmod   764  file

文件权限: (r 读;   w  更改; x 运行)

目录权限:(r 列出目录文件列表; w 可以在目录中建立或者删除文件;  x  不能cd,不能查看目录文件内容;不能查看目录中文件的详细属性)

  1. 普通用户不能修改文件的所有者
  2. 普通用户可修改主组,但是要求该文件必须在该组中
  3. 删除文件得权限是由目录决定的
  4. 如若root用户没有执行权限,也不允许执行该文件
  5. 对于读写权限,rooot用户是不受控的,有没有都可以进行读或追加操作;普通用户对于权限是严格受控的
  6. 二进制的文件的读写权限不是必须的,但如果没有读权限,不能判断该文件的类型
  7. 如果目录没有x执行权限:不能cd;不能查看目录文件内容;不能查看目录中文件的详细属性
  8. 用户获取文件权限的顺序:先看所有者,再看所属组,最后看其他,一旦匹配既不在获取
  9. Linux文件的权限,所有者所属组等这些特性,是由文件系统决定的
  10. 如若想目录下的文件能够运行,目录至少要有执行权限

二.umask默认权限

umask  间接影响创建文件目录的默认权限(内部命令)

umask   功能:取消对应的权限

umask+default=777(目录)

umask+default=666(文件)

666-umask

观察结果:1. 有偶数:最终结果为default

  1. 有奇数:最终结果加1就是default

 

umask    //显示当前目录umask的值;也可用来修改umask值

-p     //输出可被调用      umask  -p   >>.bashrc   //将默认umask写入文件

-s     //得到默认权限

.bashrc 中保存umask值

管理员用户的umask和普通用户的不同,在/etc/bashrc中定义了

三.特殊权限

文件系统上的特殊权限:

  1. suid 只适合作用在二进制可执行程序上,不能作用在script脚本上

执行 suid权限程序时,此用户将继承此程序的所有者权限

chmod     u+s      /bin/user/nano (chmod     4755      /bin/user/nano)  //给nano加上suid权限

chmod  u-s     或   chmod    755     //即可实现取消suid权限

  1. sgid 执行 sgid权限程序时,此用户将继承此程序的所有组权限

如果做用在目录上,此目录创建新的文件,将自动继承目录的所属组

chmod   g+s   /bin/cat(  chmod   2755   /bin/cat)

chmod   g+s   dir1     //实现此后创建的新文件都自动继承目录的所属组

3, sticky   粘滞位 (只能作用在目录;相对于普通用户来说:具有sticky权限的目录,只能自己删除自己的文件)此目录文件只能被所有者删除

chmod    o+t     /app(chmod   1777   /app)

 

4,   chattr  可实现对重要文件的保护

chattr   +i   f2       //不允许删除该文件 ,不能更改内容,不能改名

chattr   -i    f1    //撤销

chattr   +a     //只允许追加内容,不允许删除文件,不允许改名

chattr   -a       //撤销锁定

chattr  +A     //锁定读时间

lsattr    //用来查看文件特定属性

四.acl访问控制列表

acl  访问控制列表:实现灵活的权限管理

setfacl   -m  u:wang:rw  f1  //对wang账户添加rw权限

setfacl   -m  g:opts:rw  f1     //对组opts添加rw权限

getfacl   f1    //可查看f1的acl权限

setfacl   -x    g:g2  f1 //删除组的acl权限

setfacl    –b  f1   //清空acl的全部内容

setfacl  -m   d:u:wang:rx   directory    //默认之后创建的文件具有王的权限

setfacl   -M   文件名    f1    //批量设置acl权限

setfacl   -X   文件名    f1   //批量撤销acl

setfacl -k directory //清空默认acl权限

getfacl  f1 |setfacl  –set-file=-   f2   //复制f1 的权限给f2

setfacl   –set  //重设权限,覆盖原权限

setfacl  –restore   文件名   //还原acl

 

mask:定义了除所有者和other的最高权限

setfacl  -m mask::r   f1 //可限制除所有者和other的最高权限,最终有效权限为r

 

acl的优先级:先匹配所有者,在看([自定义的用户权限,再匹配自定义组权限  ]   受mask影响)及其他

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94910

(0)
qljqlj
上一篇 2018-04-04
下一篇 2018-04-04

相关推荐

  • 06葵花宝典之linux网络、进程管理和shell循环语句

    06葵花宝典之linux网络、进程管理和shell循环语句 作为服务器,其输入输出功能在大多数时候都是通过网络提供的,网络功能对于服务器而言是至关重要的。 一、OSI七层模型和TCP/IP四层模型 1、OSI七层模型 OSI七层模型是参考ISO(International Standard Organization国际标准化组织)所指定的一个用于通信系统间互…

    2018-04-15
  • Linux运维20180401计算机基础总结

    计算机基础及linux基础和帮助

    Linux笔记 2018-04-01
  • 浅析计算机与Linux

    在介绍Linux之前,我们先来了解装载并运行Linux的计算机。 计算机由CPU、存储器及I/O设备组成。其中,CPU包括运算器和控制器,分别负责数据计算并指挥计算机各部分协调地工作;存储器即内存,用于存储程序及各种数据信息,需注意的是,存储的数据均为二进制格式,意即计算机CPU只能处理二进制数据; I/O设备即输入设备(Input Device)和输出设备…

    2018-05-11
  • MongoDB Replica Set & Sharding

    记得风吹起的零散记忆 ,堆砌着巧克力般的幸福甜蜜,那时一起走过的青草绿地 ,留下了锦瑟音里的万千思绪

    2018-04-10
  • Linux学习前的准备

    计算机组成;Linux发行版;Linux基础命令

    2018-06-25
  • linux如何使用命令帮助

    Linux如何使用命令帮助 whatis:显示命令的简短描述 whatis命令在用 catman -w命令创建的数据库中查找command参数指定的命令、 系统调用、库函数或特殊文件名。whatis命令显示手册部分的页眉行。然后可以发出man命令以获取附加的信息。whatis命令等同于使用man -f命令。linux系统刚安装后不可立即使用使用 makewh…

    Linux笔记 2018-05-07