(五)Linux系统中权限管理

目录

###1.权限的查看及读取 ###

# 1)权限查看#

#2)权限的读取#

###2.普通权限的类型及作用###

#1)用户对文件的身份#

#2)权限位#

#3)用户身份匹配#

#4)权限类型#

###3.设定普通权限的方法###

### 4..系统默认权限设定 ###

### 5.文件用户用户组管理 ###

### 6.特殊权限 ###

###7.acl权限列表 ###

###8.attr权限###


###1.权限的查看及读取 ###

# 1)权限查看#

ls -l file        ##查看文件权限

ls -ld dir       ##查看目录权限

#2)权限的读取#

“文件的属性被叫做文件的元数据(meta data)”

“一种元数据用1个byte来记录内容”

#文件权限信息#

-  | rw--r--r--| . | 1 | root | root | 0 | Apr 12 10:57  | westos

[1]    [2]       [3] [4]  [5]      [6]    [7]          [8]              [9]

 #目录权限信息#

d | rw-r--r-- |  .  | 2 | root | root | 0 | Apr 12 10:57 | westosdir

[1]     [2]       [3]  [4]     [5]   [6]   [7]          [8]                [9]

#对于每一位的解释

[1]   #文件类型

           #  -     普通文件

           #  d    目录

           #  l      软连接

           # b      快设备

           # c      字符设备

           # s      socket套接字

           #  p     管道 |

[2]     ##用户权限

        ##rw-|r--|r--

        ##  u    g    0

[3]     ##系统的selinux开启

[4]    ##对于文件:文件内容被系统记录的次数(硬链接个数)         硬链接:一个节点号对应多个数据区域

        ##对于目录:目录中子目录的个数

[5]    ##文件拥有者

[6]    ##文件拥有组

[7]    ##对于文件:文件内容大小

        ##对于目录:目录中子文件的元数据大小

[8]    ##文件被修改的时间

[9]     ##文件名称

###2.普通权限的类型及作用###

#1)用户对文件的身份#

u:    #user 文件的拥有者,ls -l 看到的第五列信息

g:    #group文件的拥有者,ls -l 看到的第六列信息

o:       #other既不是拥有者也不是拥有者组成员的其他其他用户的通称

#2)权限位#

rwx |r--|r--

 u   g  o

#3)用户身份匹配#

user>group>other

#4)权限类型#

-        #权限未开启

r        #可读

         #对于文件:可以cat读取文件内容

         #对于目录:可以ls列出目录中的文件

w        #可写

         #对于文件:可以用vim等修改字符的方式更改文件内容

         #对于目录:可以在目录中新建或者删除文件(touch  /rm -rf)

x       #可执行

         #对于文件:可以用文件名称调用文件内记录的程序

         #对于目录:可以进入目录中

###3.设定普通权限的方法###

chmod     ##设定文件权限

#chmod       复制权限#

chmod --reference=/tmp /mnt/westosidr    

         #复制/tmp目录的权限到/mnt/westosdir上

chmod -R --reference=/tmp /mnt/westosdir

        #复制/tmp目录的权限到/mnt/westosdir及目录的子文件上 -R 代表递归操作

#chmod 字符方式设定权限

chmod < a|u|g|o><+|-|=><|w|x> file

                #用字符方式设定文件权限

示例:

chmod u-rw /mnt/westos1

chmod u-rw /mnt/westosfile1

chmod u-rw,g+x<o+wx /mnt/westosfile2

chmod a-rwx /mnt/westosfile3

chmod u=rwx,g=rx,o=--- /mnt/westosfile4

chmod -R u=rwx,g=rwx,o=--- /mnt/westosdir/

#chmod 数字方式设定权限#

权限波尔值表示方式

rwx = 111

--- = 000

三位二进制可以表示的最大范围为8进制数

rwx=111=7

rw-=110=6

r-x=101=5

r--=100=4=r

-wx=011=3

-w-=010=2=w

--x=001=1=x

---=000=0

chmod    600    /mnt/westosfile1

       rw-------

### 4..系统默认权限设定 ###

#系统本身存在的意义共享资源

#从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高

#既要保证系统安全,又要系统创造价值,于是把应该开放的权利默认开放

#把不安全的权力默认保留

#如何保留权力#

#umask表示系统保留权力

umask       #查看保留权力

umask 权限值    #临时设定系统预留权力

文件默认权限 = 777-umask -111

目录默认权限 = 777-umask

umask值越大,开放的权力就变的越小,系统安全性越高

#umask临时更改

umask 077

#永久更改

vim /etc/bashrc                  ##shell系统配置文件

74    if [$UID -gt 199] && [“id -gn`”=”`id -un`”]; then

75       umask 002             ##普通用户的umask

76     else   

77     umask 022 --077     ##root用户的uamsk

78    fi

vim /etc/profile                系统环境配置

59 if [$UID -gt 199] &&[“`id -gn`” = “`id -un`”]; then

60    umask 002              #普通用户的umask

61 else

62    umask 022 --077    #root用户的umask

63 fi

umask值被修改后不会立刻被系统识别

source /etc/bashrc          ##source作用时使用我们更改的内容立即被系统识别

source /etc/profile

### 5.文件用户用户组管理 ###

chown username file    ##更改文件拥有者

chgrp groupname file    ##更改文件拥有组

chown username:groupname file

chown username.groupname file               ##同时更改文件的拥有者和拥有组

以上命令只更改用户或用户组名称,不改变其目录或文件中的内容的拥有者或拥有组的名称

chown | chgrp -R user|group dir  ##更改目录本身及目录中内容的拥有者或拥有组

chown -R username file              ##更改文件本身及文件中内容的拥有者

chgrp -R groupname dir              ##更改目录本身及目录中内容的拥有组

### 6.特殊权限 ###

#stickyid    粘制位

#针对目录: #如果一个目录stickyid开启,那么这个目录中的文件只能被文件所有人删除

chmod 1原始权限 dir

chmod o+t dir

实验:

mkdir           /pub

chmod   777    /pub

su - westos ----> touch /pub/westosfile

exit

su - lee -------> touch /pub/leefile

rm -fr /pub/leefile #可以删除

rm -fr /pub/westosfile #不属于自己的文件也可以删除

如何解决此问题:

chmod 1777 /pub

chmod o+t /pub

以上两条命令都可以开启pub目录的t权限

 su -westos ----> touch /pub/westosfile

exit

su -lee -------> touch /pub/leefile

rm -fr /pub/leefile    #可以删除

rm -fr /pub/westosfile #不属于自己的文件不能删除

rm: cannot remove ‘: operstion not permitted

#sgid    强制位

#针对目录: 目录中新建的文件自动归属到目录的所属组中,和谁建立的没有关系

设定:

chmod 2源文件权限   dir

chmod   g+s    dir

 实验:
group westoste

mkdir /mnt/public

 chmod 777 /mnt/public/file    ##是谁建立的文件就是谁的

chmod g+s /mnt/westosdir

westos ---> touch /mnt/public/file1    ##file1自动复制了/mnt/public目录组

#只针对二进制的可执行文件(c程序)

#当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关

实验:

su - westos

/bin/cat

Watch -n 1”ps ax -o user,group,comm | gerp cat”

westos westos cat

用root用户身份

chmod g+s /bin/cat

su -westos

/bin/cat

ps  ax -o user,group,comm | grep cat

westos  root  cat

#suid       冒险位

#只针对二进制的可执行文件(c程序)

#当运行二进制可执行文件时都是用文件拥有者身份运行,和执行用户无关

chmod 4原属性 file

chmod u+s file

实验:

su - westos

/bin/cat

ps -ax -o user,group,comm | grep cat

westos  westyos  cat

用root用户登录

chmod u+s /bin/watch

su - westos

/bin/cat

ps ax -o user,group,comm | grep cat

root  westos  cat

###7.acl权限列表 ###

Access Contol Lists    #访问控制列表

 #功能:

#在列表中可以设定特殊用户对于特殊文件有特殊权限

#acl列表开启标识

-rw-rw----1 rootcaiwu 0 Apr 18 09:03 westosfile

         没有”+“代表未开启

-rw-rw----+ 1 root caiwu 0 Apr 18 09:03 westosfile

        ^

       acl列表功能开启

#acl列表权限读取

getfacl westosfile

显示内容分析

# file: westosfile       #文件名称

# owner: root         #文件拥有者

# group: root         #文件拥有者

user::rw-                 #文件拥有者权限

user:lee:rw-            #特殊指定用户权限

group::r--                #文件拥有组权限

group:westos:---     #特殊指定的用户组的权限

mask::rw-                #能够赋予特殊用户和特殊用户组的最大权限阈值

other::r--                  #其他人权限

“注意:”

“当文件权限列表开启,不要用ls -l 的方式来读取文件的权限”

#acl列表的控制

setfacl -m u:lee:rw    westosfile    #设定

setfacl -m g:westos:rw westosfile

setfacl -m u::rwx    westosfile

setfacl -m g::0    westosfile

setfacl -x u:lee    westosfile    ##删除列表中lee

setfacl -b     westosfile           ##关闭       

#acl 权限优先级

拥有者 > 特殊指定用户 > 权限多的组 > 权限少的组 > 其他

#acl mask 控制

#mask是能够赋予指定用户权限的最大阈值

问题

当设定完毕文件的acl列表之后用chmod缩小了文件拥有组的权限

mask会发生变化

恢复:

setfacl -m m:权限  文件

#acl 列表的默认权限

setfacl -m u:lee:rwx /mnt/westosdir  ##只对于/mnt/westosdir目录本身有效

setfacl -Rm u:lee:rwx /mnt/westosdir  ##对于/mnt/westosdir目录和目录本身已经存在的内容生效

#以上的命令只针对于存在的文件生效,新建文件是不会被设定的

setfacl -m d:u:lee:rwx /mnt/westosdir/  ##针对于/mnt/westosdir目录中新建文件生效

###8.attr权限###

#attr权限限制所有用户

1                                       #不能作任何的更改

a                                       #能添加不能删除

lsattr dir|file                      ##查看attr权限

chattr +i|+a|-i|-a dir|file     ##设定attr权限

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值