Linux 权限管理 day6

1、Linux权限管理

1.1 权限的介绍

。权限时用来约束用户能对系统所做的操作。
。进程能够以什么方式去访问一个文件目录,取决于进程所运行的用户对该文件有什么样的权限。

1.2 权限与用户的关系

linux中针对文件定义了三种身份,分别是属主owner、属组group、其他人others
每种身份也对应了三种权限,分别是读readwrite、执行execute
在这里插入图片描述当一个用户访问文件流程如下:
1、判断用户是否为文件属主,如果是则按照属主权限进行访问
2、判断用户是否为文件属组,如果是则按照属组权限进行访问
3、如果不是文件属主,也不是文件属组,则按照其他权限进行访问

1.4 权限中rwx的含义

字母含义二进制八进制权限表示法
r–读取权限1004
-w-写入权限0102
–x执行权限0011
没有权限0000

2、修改文件权限

2.1 修改权限的意义

修改权限使用chmod命令
简单来说就是:赋予某个用户或组 --> 能够以何种方式(读写执行)–> 访问文件
root用户可以修改任何人的文件权限;普通用户只能变更自己的文件权限

2.2.1 UGO方式示例

给文件所有人添加执行权限

[root@localhost ~]# chmod a=rwx file
# a=all 所有(user+group+other)

取消文件的所有权限

[root@localhost ~]# ll file
----------. 1 root root 0 715 00:53 file
# -(减号)表示减去权限

属主读写执行,属组读写,其他人无权限

[root@localhost ~]# chmod a=rwx,g=rw,o=- file
[root@localhost ~]# ll file
-rwxrw----. 1 root root 0 715 00:53 file
#-表示没有权限

属主属组读写执行权限,其他人无权限

[root@localhost ~]# chmod ug=rwx,o=r file
[root@localhost ~]# ll file
-rwxrwxr--. 1 root root 0 715 00:53 file

2.2.1 NUM方式(数字表示经常使用)

设定文件权限644

[root@localhost ~]# chmod 644 file

[root@localhost ~]# ll file
-rw-r--r--. 1 root root 0 715 00:53 file

设定文件权限600

[root@localhost ~]# chmod 600 file
[root@localhost ~]# ll file
-rw-------. 1 root root 0 715 00:53 file

设定目录权限755,递归授权-R

[root@localhost ~]# chmod -R 755 mulu

2.3 权限对文件的影响

权限对文件的影响对目录的影响
读取权限(r)具有读取/阅读文件内容权限具有浏览目录的权限
写入权限(w)具有新增、修改文件内容的权限具有增加和删除目录内文件
执行权限(x)具有执行文件的权限进入目录

一般我们使用rwrx权限比较多一点

2.3.1 目录权限小结

。1、读取权限r:具有浏览目录及子目录,但同时也会提示权限拒绝
。2、写入权限(w):具有增加、删除或修改目录内文件名权限,需要x权限配合执行
。2.1)可以在目录内创建文件,删除文件(跟文件本身权限无关,删除是看上一级目录的权限)
。2.2)不可以进入目录、不能复制目录、不能移动目录
。3执行权限(x):具有执行文件的权限
。3.1)只能进入目录
。3.2)不能浏览、复制、移动、删除

2.3.2 文件与目录总结

。文件权限设定小结:
。文件r权限,只给用户查看,无其它操作
。文件rw权限,可以查看和编辑文件内容
。文件rx权限,允许查看和执行文件、但不能修改文件;文件rxw权限,能读、能写、能执行、不能删除;

。目录权限设定小结:
。目录 rx权限,允许浏览目录内文件以及子目录,不允许在该目录下创建文件
。目录rw权限,允许查看目录,能往目录写入文件,但无法进入目录(使用的情况太少)

。默认系统设定的安全权限:
。文件权限:644
。目录权限:755

2.3.3 修改文件所属关系

chown能变更文件的属主和属组
chgrp仅能变更文件的属组

2.5.1特殊权限SUID

我们的Linux系统中,每个普通的用户都可以修改自己的密码,但用户的密码存储在/etc/passwd文件中;

[root@localhost ~]# ll -d /etc/shadow
----------. 1 root root 2552 715 22:47 /etc/shadow
#但是/etc/shadow文件不允许任何人更改,那么普通用户怎么修改自己的权限?

其实,普通用户可以修改自己的密码在于passwd命令本身,该命令拥有特殊权限SetUID也就是在属主的权限位的执行权限是s,那如何理解特殊权限SetUID:当一个执行文件设置SetUID后,用户在执行这个文件时将以文件所有者的身份来执行。
在这里插入图片描述

2.5.1.2SUID配置语法
[root@localhost ~]# chmod u+s /usr/bin/cat
[root@localhost ~]# chmod 4755 /usr/bin/cat
2.5.1.3 SUID作用总结

1、让普通用户对可执行的二进制文件,临时拥有二进制文件的所属主权限;
2、如果设置的二进制文件没有执行权限,那么suid的权限就是大S
3、特殊权限suid仅对二进制文件可执行程序有效,其他文件或目录则无效;
。注意suid相对危险,不建议对vimsuid设定操作

2.5.2 特殊权限SGID

2.5.2.1 什么是SGID

SGID:
。设置二进制可执行文件,命令在执行的过程中,将会以命令的属组身份运行该命令;
。设置在目录上,这时候在该目录下新建的文件/目录自动继承父目录的属组

2.5.2.2 SGID配置语法

[root@localhost ~]# chmod g+s /dir
[root@localhost ~]# chmod 2755 /dir
2.5.2.3 SGID场景说明

2.5.3 特殊文件SBIT

一旦文件被赋予了粘滞(zhi)位,除了root用户可以删除目录中的所有文件,普通用户对该目录就算拥有w权限,也只能删除自己建立的文件,而不能删除其他用户建立的文件。

2.5.3.3 配置SBIT示例
[root@localhost ~]# chmod 1755 /tmp
[root@localhost ~]# chmod o+t /tmp

2.5.3.3 SBIT使用场景
2.5.3.4 SBIT作用总结

1、让所有普通用户对该用户具有写入权限,并且能实现每个用户只能删自己的文件;
2、粘滞位目录表现在otherx位上,如果没有执行权限则显示T;
3、粘滞位目录的属主以及root用户有权删除目录中的内容,其他用户无权限删除

2.6 文件特殊属性

这种属性凌驾于rwx基础权限之上,是一种高级属性 [ ls -l 不可见 ],使用lsattr查看

2.6.1 特殊属性的作用

1、创建一个文件。不允许被修改、移动、删除,包括root用户,适合——》/etc/passwd
2、创建一个文件,仅允许往文件里追加数据,不允许修改,移动,删除,———》适合sudo审核日志

2.6.2 特殊权限如何配置

Linux系统通过chattr来实现特殊属性的配置
命令格式:chattr [±=]【选项】文件或目录名
a可对文件进行追加内容
i锁定文件。不允许其他操作。

6 、文件默认权限

  • 默认权限是指用户载创建文件或目录时,默认分配的访问权限。

6.2默认权限的由来

  • 背景
    • 1、用户创建一个文件的默认访问权限为rw-rw-rw-(八进制666)
    • 2、用户创建一个目录的默认访问权限为:rwxrwxrwx(八进制777)
      那么为什么创建出来的文件权限是644,目录权限是755,而不是666,777呢?
  • 因为系统创建文件 或目录受umask控制,默认属性要减去umask的数值,系统默认的umask值为022。
  • 系统的/etc/profile有一条umask的判断语句。
vim /etc/profile
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
    umask 002
else
    umask 022
fi

for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null
        fi
    fi
done

6.3 默认权限的计算公式

只针对文件,不针对目录,减去的权限为奇数就默认加一

#umask部分位为奇数时
#umask 023
#mkdir 新建的目录的权限为 777-023=754
#touch 新建的文件权限为	666-023=643 +001=644
#umask的值所有位为奇数时
#umask 035
#mkdir 新建的目录的权限为 777-035=742
#touch 新建的文件权限为	666-035=631 + 011 = 642
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值