文件权限

1、rwx的含义
      r        w        x
目录      ls             mkdir/mv/rm          cd
文件  cat/head/less       vim/vi       执行
2、ugo的含义
  u:文件的所有者/创建者
  g:文件所属组里的用户
  o:非U非G
此外,a表示所有用户,包含ugo
3、修改文件权限(chmod)
用法:chomd [选项] 模式 文件名
常见选项:-R
1)通过字母的形式更改文件权限
  chmod o+w /tmp/dir1/file1          给file1的other添加w权限
  chmod g-r /tmp/dir1/file2          给file2的group去掉r权限
  chmod u+rwx,g+rwx /tmp/dir1/file3    给file3的u和g添加rwx权限
  chmod a-x /tmp/dir1/file4         给file4的ugo去掉x权限
  chmod -R a=rw dir1            给dir1目录及目录下的所有文件所有组改为rw权限
2)使用数字形式修改文件权限
  chmod 644 file1            rw-r--r--
  chmod -R 755 dir1          rwxr-xr-x
4、文件的属主和属组
1)chown命令既可以修改文件的属主,也可以修改文件的属组
  chown username filename           修改文件属主
  chown username.groupname filename       修改属主和属组
  chown username:groupname filename
  chown username. filename               没有指定组名,默认是用户主组
  chown .groupname filename          只修改文件的属组
  chown :groupname filename
2)chgrp命令只能修改文件的属组
  chgrp groupname filename
4、高级权限
1)冒险位(SETUID)
指文件操作者(用户)临时拥有文件拥有者的权限,一般针对的是命令或者脚本文件。
字母表示是s或S,文字表示是4。
用法:
  chmod u+s filename
  chmod 4xxx filename
2)强制位(SETGID)
一般针对的是目录,如果一个目录拥有强制位,那么任何用户在该目录里创建的
任何文件的属组都会继承该目录的属组。
表示为字母s或S,数字为2;
用法:
  chmod g+s filename
  chmod 2xxx filename
3)粘滞位(STICKY)
一般针对公共目录,控制删除,只有root和文件的创造者可以删除,其他人只能管理自己
字母表示为t或T,数字表示是1
用法:
  chmod o+t filename
  chmod 1xxx filename
5、默认权限
1)临时控制
umask命令临时设置,只在当前终端当前进程中生效;
linux系统中,默认创建目录的最大权限是0777,文件的最大权限是0666
用法:
  umask           查看umask的值
  umask xxxx        更改umask的值
默认权限 = 最大权限 - umask
此外,linux系统中创建文件默认没有可执行(x)权限如:
  0666 - 0003 = 0663 rw-rw--wx 实际权限:rw-rw-r--
  0666 - 0005 = 0661 rw-rw---x 实际权限:rw-rw--w-
2)永久控制
通过修改配置文件,对用户的所有终端所有进程生效
对所有用户生效:
  vim /etc/bashrc
最后增加内容:umask 0007
  source /etc/bashrc      重新读取后生效
对某个用户生效
  vim ~/.bashrc
最后增加内容:umask 0007
6、ACL访问控制策略
可针对某个用户,多个用户或一个组,设置其在文件上的相应权限
常用选项:
  -m              修改或设置ACL策略
  -R              针对目录递归授权,新建文件没有
  -x              去掉某个用户或者组的权限
  -b              删除文件所有acl策略
  -d              默认acl策略,针对目录,新建的目录和文件也继承
如:
  setfacl -m u:coder01:rw /tmp/students/file1         指定coder01对file1有rw权限
  setfacl -m g:coding:rwx /tmp/students/dir1          指定coding组所有成员对file1有rwx权限
  getfacl file1                              查看file1的acl策略
  setfacl -x u:coder01 file1                      删除fiel1上coder01的单个acl策略
  setfacl -x m: file1                     删除file1上的mask
  setfacl -b file1                            删除fiel1的所有acl策略

posted @ 2020-05-20 17:25  上将潘凤为自己带盐  阅读(194)  评论(0)    收藏  举报