LINUX系统中的权限管理

本文详细介绍了Linux系统中的权限查看、普通权限类型、用户及用户组管理,包括chmod指令、umask设置、特殊权限如sticky、suid和sgid,以及ACL和attr权限的使用。适合深入理解Linux权限控制。

本次给大家介绍的是LINUX系统中的权限管理中的一些简单操作,希望可以帮助到大家!

目录

一.权限查看及读取

 二.普通权限的类型及作用

三.文件用户及用户组的管理

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

# 五.系统中默认权力的设定

# 六.特殊权限

# 七.acl权限列表

# 八.attr 权限

 


一.权限查看及读取

1.权限查看

ls -l file           #查看文件权限
ls -ld dir           #查看目录权限

 2.权限的读取

”文件的属性被叫做文件的元数据(meta data)“
 “一种元数据用一个byte来巨鹿内容“
 

文件权限信息:

示例如下(注释对应‘|’中间的内容)
    - |rw-r--r--| . | 1 | root | root | 0 | Apr 12 10:57 |  westos  
文件类型|读取权限|安全上下文|文件链接个数|文件拥有者|文件拥有组|文件大小|文件内容被修改的时间|文件名称

目录权限信息
    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 字符设备——shell
         # s socket套接字(对内对外的程序接口)
         # p 管道 |

 [2]  #用户权限#
         #rw- |r--|r--
         #u用户 g主组 o其他   
 [3]  #系统的linux开启#
 [4]  #对于文件:文件内容被系统记录的次数(硬链接个数)
       对于目录:目录中子目录的个数
 [5]  #文件拥有者
 [6]  #文件拥有组
 [7]  #对于文件:文件内容大小
       对于目录:目录中子目录的大小
 [8]  #文件内容被修改的时间
 [9]  #文件名称

 二.普通权限的类型及作用

1.用户对文件的身份

u——————user  文件的拥有者, ls -l====[5]
g——————group 文件拥有组,  ls -l====[6]
o——————other 既不是拥有组也不是拥有组成员的其他用户的通称
a——————all   全部

2.权限位

rwx|r--|r--
 u   g   o                   

3.身份用户匹配

user>group>other

4.权限类型

-     #权限未开启

 r     #可读
       #对于文件:可读取文件内容
       #对于目录:可ls列出目录中的文件

 w     #可写
       #对于文件:可以更改文件内容
       #对于目录:可以在目录中新建或者删除文件

 x      #可执行
       #对于文件:可以用文件名称调用文件内记录的程序
       #对于目录:可以进入目录中

三.文件用户及用户组的管理

chown username file         ##更改文件拥有者           注意:ls -lR 才可以看到子目录的属性
[westos@westos_student40 Desktop]$ chown westos /mnt/westosfile1                    
chgrp groupname file        ##更改文件拥有组                                                         [westos@westos_student40 Desktop]$ chgrp linux /mnt/westosfile2
chown username:groupname file   ##同时更改文件的拥有者和拥有组————拥有者和拥有组之间的“ : "也可以换成"."
      [westos@westos_student40 Desktop]$ chown root.root /mnt/westosfile1
      [westos@westos_student40 Desktop]$ chown root:root /mnt/westosfile1
chown -R username group dir   ##更改目录本身及目录中文件的拥有者
      [westos@westos_student40 Desktop]$ chown -R root /mnt/westosdir

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

## 1.chmod指令设定文件权限

chomd 复制权限
chmod --reference=/mnt/westosdir /mnt/westosfile1

复制/mnt/westosdir的权限到/mnt/westosfile1上
 chmod --reference=/tmp /mnt/westosdir                   

复制/tmp的权限到/mnt/westosdir上
 chmod -R --reference=/tmp /mnt/westosdir                

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

## 2.字符方式设定权限
  chmod a/u/g/o /+/-/= file
示例:   chmod a-rmx /mnt/westosfile1——————————————>file1权限变为--- --- ---
        chmod u-w,g+w,o-x /mnt/westosfile1
        chmod u=rwx,g=r,o=--- /mnt/westosfile2
        chmod -R u=rwx,g=rx,o=--- /mnt/westosdir   (-R 第归 目录中的其他文件一起更改)

## 3.chmod数字方式设定权限
  权限波尔值表示方式
    rwx=111
    ---=000
  例如:  chmod 777 /mnt/westosfile1——————————则表示把ugo都改为了rwx

# 五.系统中默认权力的设定

## 用户的“umask”值的更改
————在/etc/profile 当中查看umask的信息    /etc/bashrc 当中更改shell中设定的umsk值
 更改umask的初始值之后,需要新建shell加载信息     或者在已打开的shell当中输入以下代码加载信息
                                                   —"source" /etc/profile    
                                                   —"source" /etc/bashrc

普通用户的umask=002     建立文件777-002=775  建立目录775-111=664
超级用户的umask=022     建立文件777-022=755  建立目录755-111=644

# 六.特殊权限

用watch -n 1 ls -lR /mnt 进行监控查看文件权限
#stickyid     粘制位 (---t---)
#针对目录:  #如果一个目录stickyid开启,那么这个目录中的文件只能被文件所有人删除

chmod   1源文件权限  dir(源文件权限=777)
chmod o+t dir = chmod 1777 dir ——————————打开stickyid (因为stickyid=1,所以这里o+t=1777)  
 

sgid     强制位
针对目录: 把目录中新建的文件自动归属到目录的所属组中
 设定:
chmod 2源文件权限 dir
chmod g+s       dir    
mkdir目录/mnt/pub---->watch-n 1 ls -lR /mnt/监控面板观察更直观--->建立目录/mnt/pub--->groupadd建立用户组qq--->chgrp更改目录所在用户组为qq---->chmod 777 /mnt/pub更改目录权限--->su - westos 建立文件/mnt/pub/file1---->观察新建文件所在主组--->exit切换到root   执行命令chmod g+s /mnt/pub--->su - westos 切换到westos用户再次建立新文件/mnt/pub/file2--->这次文件主组将归属到强制所属组当中
!!!只针对二进制的可执行文件(c程序)
!!!当运行二进制可执行文件时都是用文件拥有组的身份运行,和执行用户无关


#suid    冒险位
#只针对二进制的可执行文件(c程序)
#当运行二进制可执行文件时都是用文件拥有组的身份运行,和执行用户无关
 监控 watch -n 1 "ps ax -o user,group,comm | grep cat" ——————>切换到westos用户使用/bin/cat命令(发现使用者是westos)——————————>root下设定 chmod u+s /bin/cat(意思是使用这条/bin/cat命令的使用者都会以root的身份运行)——————>westos下重新使用cat命令主组身份变为root
chmod u+s 命令 ————————进程所有人变化
chmod g+s 命令————————主组的身份发生改变
!!!!!!suid 和 sgid 的存在直接启用自己的所有人所有组的身份运行程序,把当前的身份忽略掉了

# 七.acl权限列表

acl__Aiccess Control Lists     #访问控制列表

 #功能:在列表中可以设定特殊用户对于特殊文件有特殊权限
  #查看文件权限列表_____getfacl /mnt/pub/
!!注意:文件权限列表开启时,不要用ls -l 的方式来读取文件的权限;
 
  #设定特殊用户对于特殊文件的权限_____setfacl -m u:指定用户:指定权限 /mnt/pub/
     --设定自己拥有组的权限——————setfacl -m g::权限 /mnt/pub(对其他组o同理)
  # 删除指定用户————————setfacl -x u:指定用户 /mnt/pub (删除指定组换成g即可)
  # 关闭文件权限列表——————setfacl -b westosfile


   acl 权限优先级
 拥有者 > 特殊指定用户 > 权限更多的组 > 权限少的组 > 其他
#alc  mask 控制
  mask是能够赋予指定用户权限最大阀直(限定所有权限,但是不会增加)
 !!!减少用户组权限的时候,例如:chmod g-w /mnt/westosfile1 其实是在减去mask的权限(由rwx-->r-x)
 设定mask权限:setfacl -m m::权限  文件


## 默认权限列表的设定
   设定lee用户的权限让他对于/mnt/westosdir目录rwx   setfacl -m u:lee:rwx /mnt/westosdir/       #只对于/mnt/westosdir目录本身生效(只能对目录rwx)
   设定lee用户的权限让他对于/mnt/westosdir目录包括里面内容rwx   setfacl -Rm u:lee:rwx /mnt/westosdir/     #对于/mnt/westosdir目录已经存在的文件生效(-Rm 第归  可以对目录及已经建立的文件rwx)

----以上命令针对存在的文件生效,命令之后新建的文件没有被设定
   默认权限:设定lee用户默认权限————对于/mnt/westosdir目录及内容rwx   setfacl -m d:u:lee:rwx /mnt/westosdir   #默认lee用户的权限后,lee用户对新建文件也直接有rwx的权限!!!!!!!!!!!默认权限不对目录本身生效,只是为了让之后新出现的文件快捷被设定

# 八.attr 权限


## attr权限限制所有用户(包括超级用户)
lsattr /mnt/westosdir —————— # 查看attr权限(lsattr -l 查看目录,lsattr -ld 查看目录本身)
chattr +a /mnt/westosdir____所有用户在目录内不能删除文件—(chattr -a dir取消限制)
chattr +i /mnt/westosdir____所有用户在目录内不能删除不能建立文件(chattr -i dir取消权限)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值