美文网首页
简单介绍linux的用户、用户组和文件权限

简单介绍linux的用户、用户组和文件权限

作者: 菜菜少吃菜 | 来源:发表于2020-08-16 17:58 被阅读0次

    用户、用户组与others

    相信大多数人和我一样,在linux中使用最多的就是root用户,如果要问我为什么,我只会说因为root用户在linux上无所不能
    其实linux拥有一个极其优雅的用户与用户组的设计,对其多了解一下有助于我们更好的解决一些稀奇古怪的问题。
    了解一个设计,首先要知道这个设计要解决的问题。

    其实用户与用户组并非linux的专属,在windows上也是很常见的功能,只是一般windows是作为我们的个人办公环境,并不会出现多个人要同时使用一个windows系统的场景,而普遍情况下linux都是被多个人同时使用的。

    所以,我们很容易就可以想到,在没有用户和用户组时,如果小A和小B同时使用一个linux机器,小A就可以直接删除或者查看小B的文件,就好像我和你同时使用微信,然而我可以看到你微信中的好友聊天记录,这是一件多么恐怖且愚蠢的事情啊。所以设置不同的用户,每个人只能看到自己的文件,是一件很重要的事情。

    而用户组呢,顾名思义就是用户的集合,比如你发了一条朋友圈,设置了只有打了家人标签的好友可见,这里的家人标签对这条朋友圈来说就是一个用户组。

    文件权限

    文件看累了,我们来首先来看张图。


    image.png
    • 第一列说明文件的类型和权限
      一般由10个字符组成,第一个字符说明文件是目录、文件或者链接文件。
      d代表是目录
      -代表是文件
      l代表是链接文件
      b代表是可供存储的接口设备
      c代表设备文件里面的串行端口设备,鼠标键盘等
      
      接下来每3个字符是一组,为rwx3个字母的组合。r为可读权限,w为可写权限,x为可执行权限。
      第一组是文件所有者的权限,第二组是同用户组的权限,第三组是非同用户组的权限。
    • 第二列表示有多少不同的文件名连接到这个inode上,关于inode在此不做介绍啦
    • 第三列表示这个文件的所有者
    • 第四列表示这个文件的所属用户组
    • 第五列表示这个文件大小,默认单位是B,可以使用-h参数,会打印更已读的单位
    • 第六列是文件的最近修改时间或者创建时间

    修改文件权限

    1. chgrp命令
      改变用户的所属用户组,注意文件的所有者并不一定要属于文件的所属用户组。
    # 将test.txt文件改为demogroup组
    chgrp demogroup test.txt
    

    2.chown命令
    改变文件的所有者和所属用户组

    # 将test.txt文件的所有者改为zhangsan,所属用户组改为demogroup
    chown zhangsan:demogroup test.txt
    # 只修改用户组
    chown .demogroup test.txt
    
    1. chmod命令
      改变文件的权限。linux文件的基本权限分为r、w和x,可以分别用数字表示:
      r:4
      w:2
      x:1
      对每个文件而言,owner、group和others都各自有自己的文件权限,这三个数字的累加之和就代表了某种身份下的文件权限。而chmod命令后面接的三个数字其实就是对应这三种身份的。
      chmod还有一种用法是使用u、g、o、a配合+、-、=来改变文件权限。
      # 给所属用户组增加可执行权限
      chmod g+x test.txt
      # 给所有身份增加可读权限并删除可写权限
      chmod a+r-w test.txt
      

    相关文章

      网友评论

          本文标题:简单介绍linux的用户、用户组和文件权限

          本文链接:https://www.haomeiwen.com/subject/tnntjktx.html