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

                文件权限管理

  文件属性格式             

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

文件属性操作

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 10:18
下一篇 2016-08-05 10:18

相关推荐

  • 编程能力与编程年龄

    程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样。我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭。因为,大多数程序员都认为,编程这个事只能干到30岁,最多35岁吧。每每我听到这样的言论,都让我感到相当的无语,大家都希…

    Linux干货 2016-08-15
  • Hello World 集中营

    编程的人应该都知道什么是Hello World。这是一个最简单的程序,其只在屏幕上输出“Hello World”字样,这通常是初学者的在学习编程时的第一个示例。把打印出 “Hello World” 作为第一个范例程序,现在已经成为编程语言学习的传统。“Hello World”起源于Brian Kernighan 和Dennis MacAlistair Rit…

    2016-05-17
  • Nginx代理MogileFS并实现负载均衡和高可用

    Nginx代理MogileFS并实现负载均衡和高可用 MogileFS nginx 负载均衡 前言 实验拓扑 实验环境 实验步骤 配置MogileFS 配置Nginx 总结 前言 上篇文章我们了解分布式系统和MogileFS的基本使用, 但是那样的架构是有问题的, 本篇文章我们来了解一下如何使用nginx-mogilefs-module-…

    大数据运维 2016-05-05
  • Centos 7 DNS配置及理论详解

    DNS是什么及BIND讲解内容 域名系统(英文:Domain Name System,缩写:DNS)是internet的一项服务。它作为将域名和IP地址相互映射服务,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。讲解内容:    DNS名称解析方…

    Linux干货 2016-04-25
  • yum前端软件包管理器

    yum是什么     Yum (Yellow dog Updater, Modified) 由Duke University团队,修改Yellow Dog Linux的Yellow Dog Updater开发而成,是一个基于 RPM 包管理的字符前端软件包管理器。能够从指定的服务器自动下载…

    Linux干货 2015-05-13
  • 关于 LVM 逻辑卷管理

                  逻辑卷管理 (LVM)    允许对卷进行方便操作的抽象层,包括从新设定文件系统的大小   允许在多个设备间重新组织文件系统将设备指定为物理卷用一个或者多个物理卷来创建一个卷组物理卷是用固定大小的物理区…

    系统运维 2016-09-02

评论列表(1条)

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

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