文件权限

介绍了修改文件权限的方法,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

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code