Linux学习笔记——如何管理我们系统中的各项权限

目录

一、权限查看及读取

1、权限查看

2、权限的读取

二、设定文件的所有人所有组

三、权限的基本类型及作用

1、用户对文件的身份

2、权限位

3、用户身份匹配

4、权限类型

四、如何管理文件权限

chmod    字符方式设定权限

 chmod 复制权限

chmod 数字方式设定权限

 五、通过默认权限的控制优化系统安全级别

如何保留权力

umask表示系统保留权力

umask临时更改

永久更改

六、特殊权限

1.粘滞位权限的作用

2.强制位权限的作用

3.冒险位权限的作用

七、acl 列表权限读取

#acl列表开启标

 acl列表权限读取

acl 权限优先级

acl mask 控制

acl 列表的默认权限

八.attr权限


一、权限查看及读取

1、权限查看

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

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

2、权限的读取

文件的属性被叫做文件的元数据(metadata)

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

文件权限信息

目录权限信息

  -  | -rw-r-r-- | . | 1 | root | root | 0 | Oct 27 23:00 | file |

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

对于每一位的解释

 [1]       文件类型

- 普通文件

d 目录

l 软连接

b 快设备

c 字符设备

s socket套接字

p 管道 |

[2]          用户权限

rw-|r--|r--

u   g   o 

[3]         系统的selinux开启

[4]         对于文件:文件内容被系统记录的次数(硬链接个数) 

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

[5]         文件拥有者

[6]         文件拥有组

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

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

[8]         文件内容被修改的时间

[9]         文件名称

二、设定文件的所有人所有组

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

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

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

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

可以通过"watch"命令对文件及目录的属性进行监控

需要注意的是如果使用 #chown username file  #chgrp groupname file去修改目录,则只会修改目录本身,而目录的文件不会改变。

若是想要同时修改可通过 #chown|chgrp -R user|group dir 

该操作只能超级用户进行操作

三、权限的基本类型及作用

1、用户对文件的身份

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

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

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

2、权限位

rwx|r--|r--

 u    g    o

3、用户身份匹配

user>group>other

如:

用户lee 非超级用户且不属于root组内的成员,由此可以确定lee 属于其他,对应到权限位的后三位也就是 r-- 

4、权限类型

- #权限未开启

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

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

w                         #可写

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

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

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

四、如何管理文件权限

chmod    字符方式设定权限

chmod <a|u|g|o><+|-|=><r|w|x> file          ##用字符方式设定文件权限

 chmod 复制权限

chmod --reference=/tmp /mnt/westosdir                      ##复制/tmp目录的权限到/mnt/westosdir上

chmod -R --reference=/tmp /mnt/westosdir                 ##复制/tmp目录的权限到/mnt/westosdir及                                                                                            目录中的子文件上 ,-R 代表第归操作

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

 五、通过默认权限的控制优化系统安全级别

系统本身存在的意义共享资源,从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高,既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放,把不安全的权力默认保留

如何保留权力

umask表示系统保留权力

umask                   #查看保留权力

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

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

目录默认权限 = 777-umask umask

值越大系统安全性越高

umask临时更改

umask 077

永久更改

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

 vim /etc/profile ##系统环境配置文件

 需要注意的时,在永久更改后需要执行 source 命令来激活

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

source /etc/profile

六、特殊权限

1.粘滞位权限的作用

stickyid          粘滞位

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

chmod 1原始权限 dir

chmod     o+t        dir

如何解决:

chmod 1777 /pub

chmod o+t /pub

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

 

 开启粘滞位权限后,则只能删除自己创建的文件,不能删除不属于自己的文件。

2.强制位权限的作用

sgid                  强制位

针对目录: 目录中新建的文件自动归属到目录的所属组中

设定: chmod 2源文件权限 dir

            chmod      g+s          dir

 可以看到新建的文件自动归属到目录的所属组中去

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

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

可以通过:#watch -n 1 "ps ax -o user,group,comm | grep cat" 对操作进行监控

 用 ls -l 查看 /bin/cat

 同样可以通过 chmod      g+s          dir增加限制位

 这里相当于升级了权限,让任何用户,可以获得root组的权限去运行程序,相当于权限下放中的sudo

3.冒险位权限的作用

 suid                       冒险位

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

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

chmod  4 原属性 file

chmod    u+s       file

即任何用户,在执行#cat 命令时,都是以超级用户的身份执行

七、acl 列表权限读取

Access Control Lists #访问控制列表

功能:在列表中可以设定特殊用户对与特殊文件有特殊权限

#acl列表开启标

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

              ^ 没有 “+”代表acl列表未开启

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

              ^ acl列表功能开启

此时acl列表功能开启

 acl列表权限读取

etfacl  westosfile

# file: westosfile #文件名称

# owner: root #文件拥有者

# group: root #文件拥有组

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

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

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

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

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

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

用 #watch命令对acl列表权限读取进行监控

注意:" "当文件权限列表开启,不要用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 权限优先级

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

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目录中新建文件生效

注意:这里只针对命令后目录再新建的新文件(目录也不生效),命令之前已经存在的文件是不会生效的,可以对比图片中的westos11和westos6

八.attr权限

#attr权限限制所有用户

i #不能作任何的更改

a #能添加不能删除 lsattr dir|file

lsattr dir|file ##查看attr权限

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

此时只能添加文件不能删除文件 ,若想删除文件可以通过

#chatter -a dir   ##设定attr权限

 不能作任何的更改只能查看

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值