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

                文件权限管理

  文件属性格式             

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

文件属性操作

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

相关推荐

  • 优秀程序员的十个习惯

    在这个世界上,有数百万的人热衷于软件开发,他们有很多名字,如:软件工程师(Software Engineer),程序员(Programmer),编码人(Coder),开发人员(Developer)。经过一段时间后,这些人也许能够成为一个优秀的编码人员,他们会非常熟悉如何用计算机语言来完成自己的工作。但是,如果你要成为一个优秀的程序员,你还可以需要有几件事你需…

    Linux干货 2015-04-01
  • Linux磁盘管理命令

    Linux有着管理各种存储设备的强大能力。Linux把所有磁盘都当作文件管理,从而简化我们对其进行的读写等操作。 IDE接口的硬盘在Linux中命名为:/dev/hd{a|b|c……},比如/dev/hda; 其他硬盘比如SATA接口的硬盘命名为:/dev/sd{a|b|c……},比如/dev/sda。 注:{…

    Linux干货 2015-12-06
  • 练习正则表达式

        正则表达式可以通过元字符(规则)来匹配查找相关的的字符集合。他与通配符是有区别的。而且相关的使用工具对正则表示的元字符的是有区别的。     首先我们先来了解下常用的元字符及含义(并不是所有的元字符) 字符匹配       &nbs…

    Linux干货 2015-04-15
  • Linux网站架构系列之Mysql—-部署篇

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1321079   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL所使用的SQL语言是用于…

    Linux干货 2015-04-01
  • 推荐-CentOS 6的系统启动流程

    一、POST加电自检     按下电源后ROM芯片中的CMOS程序执行并检测CPU、内存等设备是否存在并正常运行,CMOS中的程序叫BIOS,可以设置硬盘接口,网卡声卡开关之类的简单设置。一般PC机主板上有一个纽扣电池,这个电池就是给ROM供电的,可以保证主板断电后BIOS的一些基本设置不会重置。  &nb…

    Linux干货 2016-04-10
  • Linux的自动化安装实现

    在介绍自动化安装系统之前让我们来回顾一下系统的启动流程,系统的启动大概分为一下几个步骤:加电自检 boot sequence(mbr)— boot loader –>kernel(initramfs)—>rootfs  /sbin/init大概就是这么几个过程了,接下来来介绍系统的安装,安装系统虽然看起来简单,普…

    系统运维 2016-09-19

评论列表(1条)

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

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