• Linux基础(三)----->权限理解和文件属性



    部分扩展指令
    那么在Linux系统里面,有非常多的好用的指令可以帮助我们进行查看网络,cpu,内存占用的情况。我们不可能能够把所有的命令都记下来,不会的可以使用man手册去查,另外要善用搜索引擎!

    安装和登录命令:login, shutdown, halt, reboot, install, mount, unmount,chsh ,exit , last
    文件处理命令:file ,dd, diff, ln
    系统管理相关命令: df,top ,free ,quota ,at ,lp ,adduser ,groupadd ,kill , crontab
    网络操作命令: ifconfig ,ip ,ping ,netstat ,telnet ,ftp ,route ,rlogin ,rcp ,finger ,mail , nslookup
    **系统安全相关命令:**passwd ,su ,umask ,chgrp ,chmod ,chown ,chattr ,sudo ps , who
    **其他命令:**tar ,unzip ,gunzip ,unarj ,mtools ,man ,unendcode , uudecode.


    但是由于种种原因,用户很难直接和内核直接进行交流!这时候就要有这样一个媒介负责用户和内核之间的交流。在Windows平台里面是各种的图形化界面,而在Linux里面就是shell脚本命令,shell命令做的是无非就是两种

    过滤用户的命令,首先过滤一部分非法操作,进而保护操作系统内核
    负责把用户的指令准确无误地传递给内核


    Linux的权限---->两类用户
    权限无论在哪里都是一个特别重要的概念。而在Linux里面也是如此。首先对于用户,Linux把用户分成两类:

    超级用户:具有最大的权限,想要做什么就做什么,通常称之为root,只能有一个超级用户
    **普通用户:**这类用户可以有很多个,每个用户的权限是受约束的。

    linux系统中支持root用户和普通用户的切换

    命令:su[用户名]
    功能:切换用户
    过程:使用su [username]并输入你想要切换的用户名的密码就可以切换到对应的账号,Linux输入密码是不回显的! 普通用户切换到root用户使用的命令是 su - +root的密码. root用户进入任何人的账号都不要密码!
    所以一定要保护好root账号!


    文件的权限
    那么首先我们知道了Linux下一切皆文件,而我们又知道权限是很重要的。所以我们就要来研究文件的权限。
    首先,Linux把文件的所属者分为三类

    文件和文件目录的所属者 :User
    文件和文件目录所有者的所在组的用户: Grop
    其他人: others

    针对不同的人,每一类人拥有的文件的权限是不一样的。所以Linux进行了人的分类.而这里的所有的权限的概念都是针对的是普通用户,root用户不会受任何权限的约束影响!
    接下来我们来看一看Linux对于文件类型和文件的权限是如何划分的
    在这里插入图片描述

    //如何查看文件类型和文件的权限---->使用ls -al指令或者是ll指令
    //展示当前文件目录所有文件的属性
    ll .
    
    • 1
    • 2
    • 3

    而对于任何一个文件,都具有以下三个权限:

    读权限:读取内容的权限®
    写权限:更改文件内容的权限(w)
    可执行权限:文件是否可以执行(x)
    目录文件是否可以使用cd命令进入取决于用户是否具有可执行权限!


    chmod指令
    前面我们了解了文件的权限的概念,那么我们接下来就要来看看怎么修改文件的权限属性!在Linux操作系统通使用chmod指令来进行对权限的修改

    chmod指令
    -u:修改拥有者对应的文件权限
    -g 修改拥有组对应的文件权限
    -o:修改其他人的读写权限

    //把file3文件的权限修改其他人的读写权限为不可读,不可写,不可执行
    chmod o-rwx file3
    
    • 1
    • 2

    在这里插入图片描述
    这种方式固然是可以修改对应的权限,不过我们还可以通过一种3位8进制数字的方式来进行修改对应的权限

    我们知道对于每一个用户来说,每一个用户都会有r w x这三种权限,要么就是有,要不就是没有,所以就可以用0和1来表示
    那么就会有8种状态码表示权限状态
    000 -不可读,不可写,不可执行
    001-不可读,不可写,可执行

    111-可读可写可执行
    这是1类用户,而Linux有三类用户,所以就是用3位8进制数来表示

    //使用3位八进制数字把file3仅其他用户的权限改成不可读,不可写,不可执行,拥有者/组可读可写可执行
    chmod 770 file3 
    
    • 1
    • 2

    而对于目录文件,如果需要统一做一样的权限处理,可以带上选项参数R

    //递归改变目录文件test的所有属性
    chmod  -R or-w-x- test
    
    • 1
    • 2

    chown指令
    前面我们谈到了怎么修改文件的读,写以及可执行权限,Linux还提供了怎么修改文件拥有者的指令—>chown指令

    chown指令---->修改文件的拥有者
    选项参数:-R 递归式修改
    语法格式: chown [-R] 拥有者名字 文件名

    //更改,需要提升权限
    sudo chown -R root ../code 
    
    • 1
    • 2

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


    chgrp指令
    chgrp指令的作用就是修改文件的所属组,用法和chown指令类似

    chgrp指令---->修改文件的所属组
    选项参数:-R 递归式修改
    语法格式: chgrp [-R] 拥有者名字 文件名

    //修改tar_package所属组为root---->需要使用sudo命令
    sudo chgrp -R root tar_package
    
    • 1
    • 2

    umask指令
    这个指令的作用是用来查看文件的掩码。

    假设你新建了一个文件的默认权限是666,但是实际上可能建出来的文件的属性并不是666,而是另外一个值。这就和文件掩码有关系.假设默认的文件权限是mask,文件掩码是umask,那么实际建立出来的文件权限是 mask & ~umask

    umask指令
    格式:umask 权限值
    说明:现有权限减去默认掩码权限就可以产生对应的建立文件的预设文件权限。root用户的默认掩码是0022,普通用户是0002

    //查看权限值掩码得语法格式
    umask 666
    
    • 1
    • 2

    这就是本篇文章的内容,如有不足之处还望指正。希望大家一起进步。

  • 相关阅读:
    day14学习总结
    CDC复制软件标准模式和自适应模式的区别测试
    腾讯、飞书等在线表格自动化编辑--python
    一文读懂简单查询代价估算
    猿创征文|【第11题】求坐上公交的最晚时间(考察贪心算法)
    嵌入式开发:以数据为中心的软件设计的3个技巧
    git如何手动解决冲突文件
    [附源码]计算机毕业设计springboot疫苗及注射管理系统
    java计算机毕业设计学生健康信息管理源码+系统+mysql数据库+lw文档
    数据结构复杂度分析
  • 原文地址:https://blog.csdn.net/qq_56628506/article/details/126298283