博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux(RadHat)基础学习—文件权限
阅读量:7022 次
发布时间:2019-06-28

本文共 5169 字,大约阅读时间需要 17 分钟。

文件权限的意义:系统最底层安全设定方法之一,保证文件可以被可用的用户作相应操作

1.文件属性的查看

ls -l filename  等同于 ll    filename  (文件属性)ls -ld dir  等同于 ll -d dir   (目录属性)-|rw-r--r--.|1| root| root|   46 |Oct  1 05:03 |filename1      2       3    4       5      6             7                 8

1. "-"部分:文件类型


-   ##空文件,普通文本文件d   ##目录wc   ##字符设备:显示字符设备,接收字符属出。s   ##套接字 socket:“接口/门”,程序提供对外交互的一个"门"文件,后缀sockp   ##管道b   ##快设备 block:l   ##软连接:”快捷方式“ (ln file11 file2 把文件file1链接到file2)

2."rw-r--r--"部分:文件读写权限


rw-|r--|r--(1) (2) (3)    (1)【user】文件所有者的权限,对文件所能做的那些操作    (2)【group】文件所有组的权限    (3)【other】其他人的权限

3."1"部分:


文件硬连接个数    对文件:文件内容被系统记录的次数()                    同一个文件通过链接产生另一个文件,虽然文件名字不同,但这两个文件其实是同一个文件,可以看到其文件id一样。这样文件的硬链接个数变成了2。    对目录:目录中文件属性的字节数(目录中子文件的元数据【文件属性】大小):7+文件名字字符数

4."root"部分:


文件所有人

5."root"部分:


文件所有组

6."46"部分:


文件内容的大小

7."Oct 1 05:03"部分:


文件的内容最后一次被修改的时间,不包括其文件权限的修改

8."filename"部分:


文件名字

2.文件所有人所有组的管理

chown:更改文件/目录所有者        chown    username       file|dir    ##更改文件的所有人        chown    username.groupname file|dir    ##更改所有人所有组(把.换成:也可以)        chown -R username       dir     ##更改目录本身及里面所有内容的所有人chgrp:更改文件/目录所有组        chgrp    groupname      dir     ##更改目录/文件的所有组        chgrp -R groupname      dir     ##更改目录本身及里面所有内容的所有组

监控命令

watch -n 刷新时间 命令    watch -n 1 ls -lR /mnt   在监控页面每间隔1s重新执行 ls -lR /mnt

3.文件普通权限

rw-|r--|r--     u    g   o     r :有读取权限           w:有写入权限          x:有执行权限u部分(user):文件所有人对文件可以读写g部分(group):文件组成员对文件可读o部分(other):其他人对文件可读

权限详解


1.r(读)


对文件:可以查看文件中的字符对目录:可以查看目录中文件的信息

2.w(写)


对文件:可以更改文件内记录的字符。对目录:可以在目录中子目录或子文件的元数据(子目录、子文件)进行更改,对子目录、子文件的写即是对目录、文件的重命名,删除等操作

3.x(执行权限)


对文件:可以运行文件内记录的程序动作。执行、运行文件对目录:可以进入目录中

4.修改该文件权限


1.字符方式修改权限


格式:chmod [-R] 
<+|-|=>
file|dir chmod u-x file1 文件file1拥有者去掉x权限chmod g+w file1 文件 file1拥有组添加w权限chmod u-x,g+w file1 文件 file1拥有者去掉x权,file1拥有组添加w权限chmod u+rwx 文件 file1拥有着加读写执行权限chmod ugo-r file2 文件 file2的用户组其他人去掉r权限chmod ug+x,o-r file3 文件 file3用户和组添加x权限,其他人去掉r权限chmod +r file1 文件file1对所有的用户增加读权限chmod g=rx file1 不管之前文件所有组的权限如何,使file1所有组权限变成读、执行

2.数字方式修改该文件权限


文件权限数字表示方式小科普:在linux文件权限表示中        r=4 (2的2次方)        w=2 (2的1次方)        x=1 (2的0次方)        -=0(-表示没有对应权限,故为0)

举个栗子:

rw-|r--|r-- u    g   ou=rw-=4+2+0=6g=r--=4+0+0=4o=r--=4+0+0=4所以文件权限表示为644

命令:chmod 修改后权限值 file

chmod   777 file  --------> 该文件权限全部开放7=rwx6=rw-5=r-x4=r--3=-wx2=-w-1=--x0=---

5.系统默认权限的设定(umask)

从系统存在角度来说,开放权力越大,系统存在意义越高从系统安全角度来说,开放权力越少,系统安全性越高所以系统设定新建文件或目录会去掉一些权限

设定方式:

umask              查看系统保留权限默认为022umask 077      修改该系统保留权限为077,此设定为临时设定,只当前shell中生效

永久设定方式:

编辑文件:vim /etc/bashrc 70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then 71        umask 002    -----------> 普通用户umask 72     else 73        umask 077    -----------> 超级用户umask                                                                       74     fi编辑文件:vim /etc/profile 59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then 60     umask 002     ------------> 普通用户umask 61 else 62     umask 077       ------------> 超级用户umask                                                                                          63 fi

以上两个文件umask设定值必须保持一致!

让设定立即生效:

source /etc/bashrcsource /etc/profile

6.特殊权限


1.sticky 粘制位


只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被其所有者删除。设定方式:    chmod o+t 目录    t = 1,故又可以:    chmod 1xxx 目录

2.sgid 强制位(只针对二进制可执行文件)


对文件:只针对二进制可执行文件,    当文件有sgid权限时,任何人执行此文件产生的进程都属于该文件的文件所有组,和程序发起人组的身份无关对目录:    当目录有sgid权限后,目录中新建的所有文件的所有组,都自动归属到目录的所有组之中,和文件建立者所在的组无关设定方式:    chmod g+s file/dir    s = 2,故还可以:    chmod 2xxx file/dir(xxx代表文件的普通权限数值)进程查看:ps ax -o comm,user,group | grep watch

3.suid 冒险位置


只针对与二进制的可执行文件,当文件上有suid时,任何人执行这个文件,程序产生的进程都属于该文件所有人,即以文件所有者的身份运行该文件。用于程序执行中权力的提升或者下降。设定方式:    chmod u+s file     s = 4,故还可以    chmod 4xxx file (xxx代表文件的普通权限数值)

7.acl列表


1.acl定义


acl = access control (访问控制)    指定特殊用户对特殊文件有特殊权限drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/           ^这个'+'表示/westos目录时设置有访问控制列表,如果对应位置上是'.'则表示没有acl或者acl是关闭的查看文件是否有acl列表:    getfacl  /westos/

Linux(RadHat)基础学习—文件权限

file: westos/             ##文件名称owner: root            ##文件所有人group: root            ##文件所有组user::rwx                 ##拥有者权限user:student:rwx    ##特殊用户权限group::r-x              ##文件所有组权限mask::rwx           ##权限掩码(能赋予用户的最大权力伐值)other::r-x               ##其他人权限

注意:当文件上有权限列表时,ls -l 能看到的权限是不真实的


2.设定acl列表


setfacl -m 
:
:权限 文件|目录 -m #设定 u #用户 g #组举2个栗子:a.设定student用户拥有westos的全部权限 setfacl -m u:student:rwx ./westosb.设定student用户对watch没有任何权限。0表示没有任何权限 setfacl -m u:student:0 /bin/watch

3.删除acl列表中的用户或者组


setfacl -x 
:
文件|目录 -x #删除(从acl列表中删除某个用户/用户组)

4.关闭acl列表


setfacl -b 文件|目录                -b  #暂时关闭文件上的acl列表

5.acl mask


mask:权限掩码(表示能生效的权力值)mask用来标实能够赋予用户最大权限阀值当存在acl列表时,用chmod减小acl的文件权限时mask值可能会发生改变

修复文件mask值:

setfacl -m m:rwx 文件名称

6.acl 默认权限设定


当我们需求某个目录对于student可写,并且目录中新建的子目录对student也可写,此时就要设定默认默认权限

注意: acl权限只针对目录设定,无法对文件进行设定。默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,对于目录本身也无效

设定方式:

setfacl -m d:u:student:rwx  /westos

8.限制超级用户权限

查看完整详细权限:lsattr filename  ( ls -l无法查看到的权限)

Linux(RadHat)基础学习—文件权限

chattr +i filename  限制超级用户对文件进行操作

Linux(RadHat)基础学习—文件权限

解除限制:chattr -i filename

Linux(RadHat)基础学习—文件权限

转载于:https://blog.51cto.com/13885935/2150772

你可能感兴趣的文章
spring cloud学习(七)Spring Cloud Config(续)
查看>>
多数据源配置与使用(1)(三十二)
查看>>
向上转型,向下转型
查看>>
2011年暑假学习总结
查看>>
Centos7下yum安装kubernetes
查看>>
实时分布式搜索引擎比较(senseidb、Solr、elasticsearch)
查看>>
linux常用命令.1
查看>>
keras用法
查看>>
OSPF(Open Shortest Path First开放式最短路径优先 -链路状态路由协议
查看>>
课堂小技巧
查看>>
VS2010 删除空行
查看>>
【12c OCP】最新CUUG OCP-071考试题库(51题)
查看>>
Centos 安装ImageMagick 与 imagick for php步骤详解
查看>>
ABPIAbpSession
查看>>
类型判断(上)
查看>>
hadoop生态搭建(3节点)-13.mongodb配置
查看>>
α冲刺 (9/10)
查看>>
将博客搬至CSDN
查看>>
poj 1654 Area 求面积 水题 +longlong %lld输出
查看>>
POJ-3468 A Simple Problem with Integers Splay树
查看>>