文件权限

小技巧

除root用户外其他用户将不能登录

touch /etc/nologin 或touch /run/nologin

echo “system is maintaining”>> /etc/nologin

文件属性

1.jpg

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

owner: 属主, u

修改文件的属主:

chown [OPTION]… [OWNER][:[GROUP]] FILE…

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

-R: 递归

chown [OPTION]… –reference=RFILE FILE…

group: 属组, g

修改文件的属组:

chgrp [OPTION]… GROUP FILE…

chgrp [OPTION]… –reference=RFILE FILE…

-R 递归

other: 其他, o

每个文件针对每类访问者:

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

w: Writable 可修改其内容

x: eXcutable 可以把此文件提请内核启动为一个进程

每个目录针对每类访问者:

r: 可以使用ls查看此目录中文件列表

w: 可在此目录中创建文件,也可删除此目录中的文件

x: 可以使用ls -l查看此目录中文件列表,可以cd进入此

目录 X:只给目录x权限

2.jpg

文件权限的两种表示法,字符表示法和数字表示法:

3.jpg

修改文件权限

chmod [OPTION]… OCTAL-MODE FILE…

-R: 递归修改权限

chmod [OPTION]… MODE[,MODE]… FILE…

MODE: 修改一类用户的所有权限: u=  g= o= ug=  a= u=,g=

修改一类用户某位或某些位权限 u+  u- g+ g- o+ o- a+ a- +

chmod [OPTION]… –reference=RFILE FILE…

参考RFILE文件的权限,将FILE的修改为同RFILE;

新建文件和目录的默认权限

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

新建FILE权限: 666-umask 如果所得结果某位存在执行(奇数)权限,则将其权限+1

新建DIR权限: 777-umask

非特权用户umask是 002

root的umask 是 022

umask: 查看

umask #: 设定

umask 002

umask –S 模式方式显示

umask –p 输出可被调用

全局设置: /etc/bashrc

用户设置:~/.bashrc

Linux文件系统上的特殊权限

SUID

SUID只对二进制可执行程序有效,SUID设置在目录上无意义

如果执行该程序的用户拥有该程序的执行权限,那么该程序的进程将以程序文件的属主身份运行

SGID

对文件:如果执行该程序的用户拥有该程序的执行权限,那么该程序的进程将以程序文件的属组身份运行

对目录:一旦某目录被设定了SGID,则对此目录有写权限的用户在此 目录中创建的文件所属的组为此目录的属组,包括子目录,通常用于创建一个协作目录

默认情况下,用户创建文件时,其属组为此用户所属的主组

Sticky

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

在目录设置Sticky 位,只有文件的所有者或目录的属主或root可以删除该文件

只对目录有效,设置在文件上无意义

权限位映射

SUID: user,占据属主的执行权限位 s: 属主拥有x权限 S:属主没有x权限

SGID: group,占据属组的执行权限位 s: group拥有x权限 S:group没有x权限

Sticky: other,占据other的执行权限位 t: other拥有x权限 T:other没有x权限

设定文件特定属性

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

chattr +a 只能增加

lsattr 显示特定属性

注意:权限是针对特定文件系统的,并不是所有的文件系统都支持

访问控制列表

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

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

CentOS7.0默认创建的xfs和ext4文件系统有ACL功能

CentOS7.X之前版本,默认手工创建的ext4文件系统无ACL功能。

需手动增加: tune2fs –o acl /dev/sdb1 mount –o acl /dev/sdb1/mnt

修改setfacl -m u或g:用户或组名:权限 文件或目录

删除setfacl -x u或g:用户或组名 文件或目录

清空setfacl -b 文件或目录

把写好的acl作用在文件上,修改setfacl  -M  file.acl file|directory

把写好的acl作用在文件上,删除 setfacl  -X file.acl  directory

递归修改目录下的sales权限,目录有执行权限,但文件没有执行权限setfacl  -Rm g:sales:rwX directory

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

getfacl 可看到特殊权限:flags

mask是一条高压线,限制除了所有者和other其他人的权限统统不能超过mask

设置acl权限后,更改组相当于该mask

setfacl -m mask::rx file

对目录下新建的文件具有acl权限 setfacl  -m  d:u:wang:rx  directory

删除默认acl权限    setfacl  -k  d:u:wang:rx  directory

getfacl file1 | setfacl –set-file=- file2  复制file1 的acl权限给file2

复制文件保留acl权限cp -a或cp -p

tar打包acl不会被保留

getfacl -R /tmp/dir1 > acl.txt

setfacl -R -b /tmp/dir1

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

getfacl -R /tmp/dir1

原创文章,作者:M20-16刘国新,如若转载,请注明出处:http://www.178linux.com/31493

(0)
M20-16刘国新M20-16刘国新
上一篇 2016-08-08 20:10
下一篇 2016-08-08 20:10

相关推荐

  • Nginx 负载均衡多个nmmp主机

    设计拓扑图 一、Memcache简介 cache(缓存系统) 高性能分布式缓存服务器,缓存所有的“可流式化”数据:livejournal旗下Danga Interacive公司 程序=指令+数据 指令:程序 数据:IO操作 文件系统: 特征:协议简单  基于libevent的事件处理  内置内存存储方式  memcached 不…

    2014-09-17
  • N25–第十二周作业

    1、  请描述一次完整的http请求处理过程; (1)建立和处理连接:接收请求或者拒绝请求; (2)接收请求:接收来自于网络上的主机请求报文中对某特定的资源的一次请求的过程; (3)处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息 (4)访问资源:获取请求报文中请求的资源 (5)构建响应报文; (6)发送响应报文; (7)记录…

    2017-03-28
  • N22-第八章作业

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。       网桥:网桥是工作在数据链路层的设备。用于将两个LAN连接在一起并按照Mac地址转发数据。网桥保存着所有与它相连的主机的Mac地址表和端口号并具有学习功能。当网桥收到某个数据包后,能根据目的主机的Mac地址再选择从哪个端…

    Linux干货 2016-10-24
  • bash 基础特性1

    bash 基础特性 命令模式 systemctl set-default multi-user.target 图形模式 systemctl set-default graphical.target   # rmdir [OPTION]…DIRECTORY…-p:删除某录后,如果其父目录为空,则一并删除之-v:显示过程# mk…

    Linux干货 2017-06-01
  • 创建私有CA和申请证书流程

    创建私有CA和申请证书流程 由于很多时候做实验需要用到证书,就需要自己搭建一个私有CA来给自己颁发证书。同时通过整理创建CA和申请证书、吊销证书的过程加深自己的理解. PKI:Publilc Key Infrastructure 公钥基础设施:     签证机构:CA     注册机构:RA &nb…

    Linux干货 2016-12-01
  • 马哥面授班20期-第一周(计算机基础,linux入门)

    一.计算机发展历史及硬件组成部分     计算机发展历史:第一代:(1946-1957)电子管时代,第二代:(1958-1964)晶体管时代,              第三代:(1965-1970)集成电路时…

    Linux干货 2016-07-26