Day09 红帽Linux — 2控制对文件的访问

红帽Linux — 2控制对文件的访问

一、Linux文件系统权限

权限类型

文件的权限有三种用户类别:文件所有者、所属组、其他人

每类用户对文件的权限又可分为三种:读、写、执行

权限对文件的影响对目录的影响
r可以读取文件内容可以列出目录的内容(文件名)
w可以更改文件内容可以创建、删除目录中的任一文件
x可以作为命令执行文件可以进入访问目录(查看文件详细信息等)

权限的表示

drwxrw-r--

文件类型、所有者、所属组、其他人

数字加权:764

r=4,w=2,x=1

文件类型有:-(常规文件)、d(目录)、l(软链接)、其它字符(b、c:硬件设备,p、s:特殊用途文件)


例子

  • 例1:用户对目录有 r-x 权限,可以列出和查看目录下文件的信息。如果只有 r 权限,就只能列出文件,而无法查看到文件的详细信息。
  • 例2:用户对目录有 x 权限,将可以进入目录,但没法列出文件。若用户同时对文件有 r 权限,则 可以通过具体文件的指向来查看这个文件,但是无法编辑文件。
  • 例3:用户对目录有 rw 权限,对文件有 r 权限,用户不能编辑文件,但有时候乱配一通后发现可以保存,这是为什么呢?(可能在vim中编辑保存时用了:w!,相对于借用root权限)
  • 例4:tom 是 1.txt 的所有者,具有 r-- 权限。tom 的补充组是 ken,对 1.txt 具有 r-x 权限,那 tom 的权限是?(r-x)

ls -ld /home

ls 中的-d可以显示目录本身,而不是其内容


二、管理文件系统权限

修改文件权限

chmod指令结构

chmod <who> <what> <which> <file|directory>

  • who:u、g、o、a user、group、others、all
  • what:+、-、= 增加权限、减少权限
  • which:r、w、x(X) 读、写、执行

赋予权限
  • +x:赋予文件可被执行的权力chmod +x <file>,或赋予某对象执行该文件的权力chmod a+x <file>,赋予一个目录下所有文件可执行的权限需要-R,chmod g+x -R <dir>

  • +X:当文件是个目录或是被设定为某用户可执行的文件时,+X等价于+x,否则不改变其可否被执行的权力chmod a+X <file>


例子

  • 例1、修改 1.txt 的所有者权限为完全控

    chmod u=rwx 1.txt #直接指定某对象的权限

  • 例2:修改 2.txt 的权限为所有用户完全控制

    chmod 777 1.txt #可以使用数字加权的方法设定所有用户的权限

  • 例3:要求其他用户对 1.txt 具有执行权限(例如:脚本)

    chmod o+x 1.txt #不考虑原来的权限,直接添加或减少某个权限

  • 例4:将 test 目录及子目录子文件的权限都设置为 rwx

    chmod -R a=rwX test #使用 -R 选项实现递归设置

注:在递归设置权限时,设计执行权限,可用大写X,若文件原本可被某一用户执行或是目录,则按设置的指令更改其被其他用户执行的权力,否则不改变其执行权限


小测验

练习
在这里插入图片描述
在这里插入图片描述

1.C 2.A × => B √ 3.D

4.A 5.C 6.D


答案

在这里插入图片描述
在这里插入图片描述


修改文件的所有者和所属组

chown <user> <file|dir>		#命令的参数(执行对象)通常是在末尾
chgrp <group> <file|dir>
  • 例1:修改 1.txt 所有者为 tom,所属组改为 group1

    chown tom 1.txt
    chgrp group1 1.txt
    或
    chown tom:group1 1.txt	#同事修改文件的所有者和所属组
    

注:只有root用户可以修改文件的所有者;而所有者可以修改文件的所属组。


三、管理特殊权限和默认权限

执行文件时的特殊权限

权限权值操作符对文件的影响对目录的影响
SUID4u+s或S执行文件时,以文件所有者身份运行文件-
SGID2g+s或S以所有组身份运行文件在具有 sgid 权限的目录下创建子项目时,
继承上级的所属组
SBIT1o+t或T-具有 t 权限的目录,目录下的文件和子目录
只能被所有者或 root 用户删除
  • 在权限属性中,特殊权限会占用执行权限的位置
  • 此时小写表示原位置有x权限,大写表示无x权限
  • 其加权数值为四位,第一位记录特殊权限的权值

例子

  • -r-sr-Sr--

    6544

  • -rwsrw-rw-

    4766


默认权限

系统中默认权限:目录是0777,文档是0666(所有文件都无执行权限)


umask概念

umask:在默认权限的基础上减去 umask 就是新建目录/文件权限

  • 配置文件: /etc/bashrc

  • 默认值:0002

  • 分配规则:若UID为200或以上,且用户名与组名相同则分配值为002的umask,否则分配022。新建用户的umask为0002

  • umask通常还会设置为:

    • 0:其他人将具有对目录和文件的执行权限

    • 027:其他人将没有任何权限,可以确保只有所有者和所属组具有权限。


临时修改umask
umask		#查看当前umask
umask XXXX	#设置临时umask,重启后失效

永久性的更改 umask 两种方法
1、改两个文件

用户的系统默认umask值在 /etc/profile/etc/bashrc 文件中,用户可以在其主目录的 .bash_profile.bashrc 文件中覆盖系统默认值。


2、新建个脚本文件

新建个脚本文件 /etc/profile.d/local-umask.sh

修改不同UID范围的,UID与GID是否相等的,账户的umask值

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
	umask 007
else
	umask 022
fi

改完后reboot重启生效


sh代码中整数比较大小

指令英文含义
-eqequal to等于
-nenot equal to不等于
-gtgreater than大于
-gegreater than or equal to大于等于
-ltless than小于
-leless than or equal to小于等于

参考资料:Red Hat Training and Certification

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值