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

文章目录

  • 红帽Linux — 2控制对文件的访问
    • 一、Linux文件系统权限
      • 权限类型
      • 权限的表示
    • 二、管理文件系统权限
      • 修改文件权限
        • chmod指令结构
        • 赋予权限
        • 小测验
      • 修改文件的所有者和所属组
    • 三、管理特殊权限和默认权限
      • 执行文件时的特殊权限
      • 默认权限
        • umask概念
        • 临时修改umask
        • 永久性的更改 umask 两种方法
          • 1、改两个文件
          • 2、新建个脚本文件
      • sh代码中整数比较大小

一、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用户可以修改文件的所有者;而所有者可以修改文件的所属组。

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

执行文件时的特殊权限

权限 权值 操作符 对文件的影响 对目录的影响
SUID 4 u+s或S 执行文件时,以文件所有者身份运行文件 -
SGID 2 g+s或S 以所有组身份运行文件 在具有 sgid 权限的目录下创建子项目时,
继承上级的所属组
SBIT 1 o+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`" ]; thenumask 007
elseumask 022
fi

改完后reboot重启生效

sh代码中整数比较大小

指令 英文 含义
-eq equal to 等于
-ne not equal to 不等于
-gt greater than 大于
-ge greater than or equal to 大于等于
-lt less than 小于
-le less than or equal to 小于等于

参考资料:Red Hat Training and Certification

Day09 红帽Linux — 2控制对文件的访问相关推荐

  1. linux下生成源程序控制流图,Linux下控制(统计)文件的生成的C代码实现

    本文分享了Linux下控制(统计)文件的生成的C代码实现案例,供大家参考,具体内容如下 一.需求描述不定时地在Linux机器下的某目录中放入文件,文件内容中包含了用户号码.起止时间等字段,现要求编写一 ...

  2. 2-2. 控制对文件的访问

    ##控制对文件的访问## ##学习目标: *读取文件权限 *设定权限列表 *设备权限列表加载 1.权限列表的读取 [kiosk@foundation0 Desktop]$ getfacl file # ...

  3. Day09 红帽Linux — 1管理本地用户和组

    红帽Linux - 1管理本地用户和组 文章目录 红帽Linux - 1管理本地用户和组 一.组的概念 组类型 使用 id 命令可以查看用户的主要组和补充组 组信息 /etc/group /etc/g ...

  4. 第二课unit2 控制对文件的访问

    1.权限列表的读取 命令:getfacl file # file: file    ##文件名称 # owner: root   ##文件所有人 # group: root   ##文件所有组 use ...

  5. 红帽Linux系统管理员学习哪些内容?

    开源技术现在越来越火,无论是从事DBA.网络运维还是开发.云计算.人工智能等岗位,都需要具备些Linux基础知识,本文主要介绍Redhat Linux系统管理员一般学习哪些内容. Redhat  Li ...

  6. linux把u盘只读文件,完美解决linux下U盘文件只读的问题

    完美解决linux下U盘文件只读的问题 1. 在终端运行如下命令 tail -f /var/log/syslog 2. 插入有只读文件系统故障的U盘 3. 观察命令行输出 输出局部如下: Jul  8 ...

  7. 红帽linux怎么装文件夹,红帽linux怎么安装第三方字体?

    许多用过 Windows 再去使用红帽 linux 的朋友一定会有这样的感受,就是红帽 linux 的字体相比之下实在是相形见绌.当然,要想红帽 linux 看起来更美观一些,最好的办法莫过于将自己喜 ...

  8. 红帽linux编程结束编辑,红帽文件相关操作

    红帽操作(三)文件 mkdir 这个是创建一条路径 可以一次一次的创建. 也可以直接加-p mkdir -p 删除目录 rmdir 必须从最底层删除 rm -rf 安装 yum install -y ...

  9. Red Hat6 Linux镜像文件,如何下载红帽企业版Linux的ISO镜像文件,如何开始安装红帽企业版Linux?...

    发行版本:红帽企业版 Linux,所有版本 问题: 如何下载红帽企业版 Linux 的 ISO 镜像文件,以便从光盘安装红帽企业版 Linux? 备注:如果您想下载红帽企业版Linux的评估版,需要首 ...

最新文章

  1. SAP S4HANA里委外加工采购功能的变化
  2. 成立 5 周年:一文览尽 Facebook 人工智能研究院历年重要成果
  3. [原创]Silverlight与PostgreSQL数据库的互操作(CURD完全解析)
  4. 请概述可视化卷积神经网络的中间输出的基本思想。_卷积神经网络为什么能称霸计算机视觉领域?...
  5. Linux centos 下apache(httpd)编译安装
  6. sql跨表查询_跨表查询经常有,何为跨表更新?
  7. 控件与应用程序许可授权的100%托管的先进控件IntelliLock
  8. Android官方开发文档Training系列课程中文版:键盘输入处理之控制输入法的显示方式
  9. python pca降维_机器学习之sklearn中的降维算法
  10. LG电子计划到2010年实现利润翻番
  11. 动态规划——最长回文子串(Leetcode 5)
  12. 快手2021年营收810亿元 经调整净亏损188亿元
  13. css3 动画 vs js 动画
  14. Lua中local变量和非local变量的区别
  15. Eclipse中文汉化包安装教程
  16. java中面向对象的例子_java面向对象九个经典例子程序
  17. Markdown标记语言知识梳理
  18. soul服务器不稳定,soul聊天状态异常 消息发送失败
  19. 漫反射与Lambert模型
  20. android id如何修改密码,小编教你忘记Apple ID密码怎么办?以及如何修改密码

热门文章

  1. 怎样将window上的文件传输到虚拟机(vm上的linux系统)
  2. 丁巳日__暴雨的终点,是一片草原
  3. Hexo + gitcafe 搭建过程
  4. PowerDesigner-反向工程
  5. Allegro中导入中文或者logo操作指导
  6. HEVC 样点自适应补偿(SAO)原理详解
  7. 电子设计技巧(六)——传输线
  8. python 计算两个年份之间闰年的数量 判断某年份是否为闰年
  9. C语言笔记--代码学习笔记--C语言语法--基本操作运算-basic-logorithm
  10. 如何避免“中国式教育”误区?硅谷K-12教育专家如是说