关于文件权限管理了解和使用

                文件权限管理

  文件属性格式             

关于文件权限管理了解和使用

文件属性操作

chown          设置文件的所有者

chgrp          设置文件的属组信息

 修改文件的属主:

chown [选项] [所有者][:[组]] file

         

命令中的冒号可用.替换;

-R :递归操作文件或目录

chown [选项] –reference=RFLE FILE

       -rw-r–r–. 1 root root    0 8月   3 18:17 xiaomage   这是没更改属主时候的文件 

例如:~]# chown -R makangbo xiaomage  

(命令加选项-R 将原来的属主root 修改为makangbo属主 后面跟文件名称)

       -rw-r–r–. 1 makangbo root    0 8月   3 18:17 xiaomage   这是更改成功的结果

       

 修改文件的属组

chgrp [选项] group file

chgrp [选项] –reference=RFILE FILE 

-R : 递归操作文件或目录

      -rw-r–r–. 1 makangbo root    0 8月   3 18:17 xiaomage   

      (这个是上面改过属主的, 然后组还没改)

  

例如:~]# chgrp -R makangbo xiaomage  

(命令选项-R makangbo组名  xiaomge文件)

       -rw-r–r–. 1 makangbo xiaomage    0 8月   3 18:17 xiaomag   

       (这个就是更改过组的,将原来的root组更改为makangbo组)

            

文件权限的主要对三类对象进行定义

owner: 属组,u

group: 属组,g

other: 其他,o

每个文件针对每类访问者都定义了三种权限

r:  readable  可读的 

w:  writable  可写的

x:  excutable 可执行的针对二进制程序或脚本 

文件的权限

r:可使用文件查看类工具获取里面内容

w:可修改文件里面的内容

x:可以把此文件提交给内核启动为一个进程操作,对二进制程序或脚本有效

目录的权限

r:可以查看dir内文件列表,但不能访问文件,不能cd,也不能查看文件的元数据

w:可以在dir中创建文件,,也可以删除此dir中的文件

x:可以使用查看类命令查看dir中的列表,可以cd进入此dir

X:只给目录x权限,不给文件x权限 (前提是本身没有x权限)

关于文件权限管理了解和使用

文件权限,示意图

权选项    文件类型    读    写    执行    读     写    执行   读   写   执行

字符表示(d|l|c|s|p)(r)  (w)    (x)    (r)    (w)   (x)    (r)  (w)  (x)          

数字表示               4     2      1      4      2     1      4    2     1

权限分配             (  文件所有者  )   文件所属组用户)    ( 其他用户 )      

关于文件权限管理了解和使用

八进制数字

— 000 0

–x 001 1

-w- 010 2

-wx 011 3

r– 100 4

r-x 101 5

rw- 110 6      例如

rwx-111 7      640 ; rw-r—–   (其中rw-是6  r–是4   —是0 )

               755;  rwxr-xr-x   (其中rwx是7  r-x是5 r-x=5)    

                

                                                        

      umask值,可以用来保留在创建文件权限                                        

umask 666 文件

umask 777 目录

dir: 777-umask  目录的最大

file:666-umask  文件的最大 ;有奇数加1,偶数保留

非特权用户是002

root的umask是022

umask  查看结果

umask [权限掩码]  设定

umask -S 新建文件直接模式显示

umask -p 输出可被调用

全局设置 : /etc/bashrc 

用户设置:~/.bashrc

   修改文件权限

chmod [选项] 八进制数字的方式 文件

-R递归修改权限

修改一类用户的所有权限

u=权限      UID=什么权限

g=权限

o=权限     不是管理员的用户=权限

ug=权限     UID和GID=权限

a=ugo

修改一类用户某位或某些位权限

u+   

u-

g+

g-

o+

o-

a+

a-

+  增加权限

–  减去权限

特殊权限

suid

sgid

sticky

进程有属主和属组;文件有属主和属组

》任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限

》启动为进程后,其进程的属主为发起者;进程的属组为发起者所属的组

可执行文件上suid权限

启动为进程之后,其进程的属主为原文件的属主

chmod u+s file     增加文件权限 。

      相对应普通用户的权限,s相当于继承root的权限,进行某些操作 (只有二进制程序才有意义)

chmod u-s file     减去文件权限 。  suid设置在目录上无意义

可执行文件上sgid权限

启动进程之后,其进程的属主为源程序文件的属组

chmod g+s  file   相对应组的GID  权限   (作用二进制程序)

chmod g-s  file   

目录上的sgid权限

如果作用在目录上将使该目录中新建文件或目录将自动继承该目录所属组

通常用户创建一个协作目录

chmod g+ dir

chmod g- dir

sticky具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权

在目录上设置sticky,只有文件的所有者或者root可以删除该文件

对文件无效

chmod o-t dir

chmod o-t dir

例如 ~]# ls -ld /tmp

        rwxrwxrwt. 13 root root 4096 8月   4 08:40 /tmp    加了t权限的

suid;sgid都占据属主的执行权限位

s代表UID拥有x权限,S表带UID没有x权限

     GID                GID

t占据其他的执行权限位

不管是suid和sgid还有sticky三个都要配合x权限

设定文件特定属性

chattr +i   不能删除,改名,更改

chattr +a   只能增加

lsattr  显示特定属性

关于ACL : Access Control List 实现灵活的权限管理

除了文件的所有着,所属组和其他人,可以对更多的用户设置权限

ACL生效顺序:所属主,自定义ACL属主,所属组,自定义ACL组 ,其他用户

 setfacl -m u:xiaommage:0(rwx) file

(命令选项) (用户名称 )(给定权限) 文件)

 setfacl -x u:xiaoamge file

(命令选项)(用户名名称)(文件)

 getfacl file

 (查看文件给定的用户权限)

 不仅可以设定用户权限   也可以g组设定权限

 setfacl -m u:xiaomage:rwx file

(命令选项 uid用户名:权限:文件)

 setfacl -m g:xiaomage:rwx file

(命令选项 gid用户名:权限:文件)

 setfacl -m d:u:xiaomage:rwx file 

 (  加了d选项,就是指以后在文件夹中创建的文件都带有该权限    )

 setfacl -k dir   删除默认ACL权限

 

getfacl file1 | setfacl –set-file=-  file2

  复制file1的ACL权限给file2 

]# getfacl f1 | setfacl –set-file=- f2

 (命令)(file)(管道传给命令=f1 到f2)

从file1文件中保存到file2文件中,保留了ACL权限

 setfacl -b file

(命令选项清空文件内所有ACL权限)

 批量加权限

vim file.txt

u:xiaomage:0

u:xiaomage:rwx

g:xiaoamge:rx

g:xiaomage:0

setfacl -M file.txt (调用文档内容并执行)

 批量删权限

vim file2.txt

u:xiaomage:0

u:xiaomage:rwx

g:xiaoamge:0

g:xiaomage:rwx

setfacl -X file.txt(调用文档内容并执行)

ACL文件上的group权限是mask值 自定义用户或者组,拥有组的最大权限,而不是传统的组权限

  一旦设置ACL权限后,权限已经变成mask的权限

mask的权限相当于高压线   其他用户只能比他小,或者相等。

用户或组的设置必须存在与mask权限设定的方位内才会生效

格式:setfacl -m mask::rx file

备份和恢复ACL

主要文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p参数。

但是tar等常见的备份工具是不会保留目录和文件的ACL信息

 cp -a file dirfile

 cp -p file dirfile

getfacl -R /tmp/dir1 > acl.txt

(命令加选项)(指定某个目录路径)(重定向到文本文档中)

getfacl -R * > /dir1/file.txt

(在当前目录下将所有的ACL重定向到某个目录中并定义名称)

setfacl -R -b /tmp/dir1

(命令加选项)-b清空目录中的ACL

setfacl -R –set-file=cal.txt /tmp/dir1 file.txt*

(命令加选项) (命令=读取文档恢复ACL) (到指定的文件目录)

原创文章,作者:小马哥,如若转载,请注明出处:http://www.178linux.com/28963

(0)
小马哥小马哥
上一篇 2016-08-05
下一篇 2016-08-05

相关推荐

  • shell通配符与正则表达式

        通配符是系统level的 而正则表达式需要相关工具的支持: egrep, awk, vi, perl。在文本过滤工具里,都是用正则表达式,比如像awk,sed等,是针对文件的内容的。通配符多用在文件名上,比如查找find,ls,cp,等等。 1.通配符       (1)…

    Linux干货 2016-02-28
  • day7作业练习

    1、显示当前系统root、mage或wang用户的UID和默认shell  2、找出/etc/rc.d/init.d/functions文件中行首为某单词(包 括下划线)后面跟一个小括号的行  3、使用egrep取出/etc/rc.d/init.d/functions中其基名     v …

    系统运维 2016-08-08
  • MySQL主从复制:半同步、异步

            MySQL主从复制:半同步、异步 前言 如何对MySQL进行扩展? MySQL Replication WorkFlow MySQL主从复制模式 实战演练 MySQL异步复制实现 MySQL半同步复制实现 实验中的思考 总结 mysql 前言 本篇我们介绍MySQ…

    Linux干货 2016-04-28
  • 计算机基础与linux入门

    计算机硬件组成:     运算器:主要完成算术运算,逻辑运算     控制器:控制指令的执行序列,根据指令的功能给出实现指令功能所需要的控制信号     存储器:存放程序以及一些数据     &nbs…

    Linux干货 2015-12-19
  • Linux 2.6.39-rc3的一个插曲

    2011年4月12日,Linux 2.6.39-rc3发布了,Linus Torvalds写了一个发布邮件,其中包含了一个长长的为这个版本做过贡献的人员名单,这个名单中有很多看上去应该是中国人的名字,我挺为他们感到骄傲的(不知道你是否还记得以前本站的”Linux是由谁写的“)。 不过,没过一会,发现了一个bug,经过大家的调查(2.6.38版没有发现这个问题…

    Linux干货 2016-06-09
  • 编译安装LAMP及分离式LAMP平台构建

    前言 LAMP网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网站服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,与微软的.NET架构相比,L…

    Linux干货 2015-04-20

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-07 23:51

    文章整体结构层次清晰,对命令的总结很详细,但是少了一些具体实践,在以后的写作中可以加上自己的实际操作部分。