• 一、Linux文件权限与目录配置


     

    行文结构如下:

    1. 用户和用户组
    2. Linux文件权限概念
    3. Linux目录配置
    4. 重点回顾

    1、用户与用户组

            Linux是个多用户、多任务的系统,可能有多人同时使用这台机器进行工作,为了考虑每个人的隐私和工作环境,“文件所有者”角色既用户角色显得相当重要。另外,如果有2个组同时在一台机器上开发,但是这2个组有竞争关系。需要相互隔离对方,杜绝访问自己的资源,但是自己组成员可以访问本组资源。这就引出了用户与用户组的概念。

            在Linux系统中,每一个文件都有用户(User)、用户组(Group)、其他人(Others)3中个别权限。当然,从角色角度来看,还有一个终极Boss,那就是root,Root权限可以去系统中任意想去的地方。所以在使用root操作时,要小心误操作。

           Linux系统中账号都记录在/etc/passwd文件内,个人密码记录在/etc/shadow,组名记录在/etc/group内,不要随便删除这3个文件。

    2、Linux文件权限概念

    2.1、Linux文件属性

    文件属性表示该文件的类型,是否可读、可写、可执行。比如下图:

    是Linux根目录下的文件

    dr-xr-xr-x. 24 root    root     4096 Sep 22 16:06 .
    dr-xr-xr-x. 24 root    root     4096 Sep 22 16:06 ..
    -rw-r--r--   1 root    root        0 Sep 11 12:53 .autofsck
    -rw-r--r--   1 root    root        0 Nov  9  2016 .autorelabel
    dr-xr-xr-x.  2 root    root     4096 Nov  9  2016 bin
    dr-xr-xr-x.  4 root    root     4096 Nov 10  2016 boot
    drwxr-xr-x   2 root    root     4096 Nov  9  2016 data

    上面的前十位表示该文件的权限内容,第一个[d]表示这是一个目录[-]表示这是一个文件,后面的三个三个一组,从左到右分别表示用户的权限用户组的权限其他人的权限[r]表示可读[w]表示可写[x]表示可执行[-]表示此项权限不存在

    紧接着的数字表示连接数,之后的root,root表示文件所属的用户和文件所属的用户组的名称。之后的数字表示这个文件的大小。再后面是文件的最后修改时间,最后是文件的名称。

    TIPS:

    如果文件前面有.,代表这个文件为隐藏文件
    
    如果目录的[x]为空,表示只可访问到该目录,不能进入到目录中访问其子文件
    

    2.2、如何改变文件属性与权限

    chgrp:改变文件所属用户组
    chown:改变文件所有者
    chmod:改变文件权限
    

      

    使用chgrp和chown的后,temp文件的用户和用户组从root,root变成了bin,users。

    另外在[cp]命令复制文件的时候,也会相应复制其用户和用户权限

    cp的命令格式为:

    cp 源文件 目标文件
    

     接上面图片,改变temp目录的文件权限

    发现,修改temp文件的权限为:用户可读可写可执行(4+2+1),用户组可读可写(4+2),其他人可读可写(4+2)

    TIPS:

    目录权限:
    系统有user用户,该用户不支持root用户组,则user用户可以查询此目录下的文件列表,但是没有x权限,所以user用户不能切换到此目录内部。
    

    2.3 、Linux文件种类和扩展名

    文件种类:

    普通文件分为:二进制文件、纯文本文件、数据格式文件;

    目录:在Linux中,一切皆文件,目录也不例外;

    连接文件:类似于Windows中的快捷方式文件;

    设备与设备文件:分为Block块设备文件、character字符设备文件,通常在/dev目录下;

    套接字文件:网络传输数据的文件;

    管道文件:FIFO文件,用于解决多个程序同时访问一个文件所造成的错误问题。 

    3、Linux目录配置

    3.1、Linux目录配置标准:FHS(FileSystem Hierarchy Standard)

    我理解:主要是定义一套标准,让不同用户在使用时,按照这套标准新建,删除,放置目录和文件等操作,而不是随意新建,删除,放置文件和目录,造成系统混乱的局面。

    其中所有文件的根文件时"/",任何其他文件都是在它基础上挂载的,下面介绍下部分文件名称及其作用:

    /:根目录,与开机、还原、系统修复有关,FHS标准要求:/所在的分区应该越小越好,且应用程序安装的软件最好不要和根目录放在你同一个分区,保持根目录越小越好。
    /bin:这个文件下存放的是一些系统常用命令,如cat,ls,chmod,data,mkdir,MV,cp等。
    /boot:这个目录主要放置开机时会使用到的文件,包括内核文件和开机的配置文件等
    /dev:任何设备和设备接口都是以文件形式存在这个目录中的。
    /etc:系统的主要的配置文件都放在这个文件中,比如人员的账号,密码。各种服务的起始文件等。
    /home:系统默认的用户主文件夹,在你创建一个一般用户账号时,默认的用户主文件夹都会规范到这里来。文件夹中有两种代号:~:代表目前用户的主文件夹,~dmtsai:代表dmtsai的主文件夹。
    /lib:系统加载所需要的函数库都在这个目录下了。
    /opt:这是给第三方软件放置的目录【我本来以为第三方软件指的是jdk,tomcat这种,后来查看这个目录下没有,感觉这个是针对系统的第三方软件,比如像桌面程序?大概jdk,tomcat这种是叫应用软件吧?有大神知道,
    还请指导下】 /usr:usr目录不是user的简称!!!而是UNIX Software Resource的简称,也就是UNIX操作系统软件资源所放置的目录,并不是用户的数据。类似于Windows下的C:/Windows和C:/Program Files两个目录的综合体, 我们安装的jdk和tomcat等应用软件,就是安装在/usr/local下。 /var:如果说/usr是在软件安装的过程中占用硬盘容量的话,那么/var就是在系统运行后逐渐占用硬盘用量的,其里面是针对常态性变动的文件,比如缓存,登录文件以及运行时产生的文件。

      

    3.2、目录树(directory tree)

    Linux目录树结构

    3.3、绝对路径和相对路径

    绝对路径:由根目录/开始写起的文件名活目录名称,例如:/home/temp

    相对路径:相对于目前路径的文件名写法。例如“./home/dmstai”,反正开头不是/就是相对路径的写法。

    所以当你cd ..的时候,就是相对于当前目录的上一级目录,而如果现在由 /home/helloworld和/home/20170920temp这两个目录,通过cd ../helloworld/就可以进入到同级目录下的helloworld下。这就是相对路劲

    同样 ./run.sh 表示执行当前目录下的run.sh的脚本。

    4、重点回顾:

    • Linux下权限依次分用户、用户组、其他人三种身份。
    • ls -al 显示所有文件的详细信息,包括:10位长度的权限,文件连接数,文件容量,文件最后修改日期,文件名。
    • 如果文件名前多一个".",代表这个文件时隐藏文件
    • 对文件来说,权限分为:r:可读,w:可写,x:可执行文件(类似windows的exe),
    • 对目录来说,权限分为:r:可读目录中的内容,w:可修改目录中的内容,x:可访问这个目录,但是不能访问目录内的内容
    • FHS定义的三层主目录为:/,/usr, /var

    参考书籍:《鸟哥的Linux私房菜基础篇第三版》

    不畏浮云遮望眼,只缘身在此山中,安静提高自己,功过留给别人去说。
  • 相关阅读:
    C++:随机数生成
    C++:typedef 与 #define 的区别
    读书笔记
    从零开始:Spring Security Oauth2 讲解及实战
    SpingCloud:Gateway+Nginx+Stomp+Minio构建聊天室并进行文件传输
    Docker image-Ubuntu(jessie)下postgresql-client安装方法
    7张图了解kafka基本概念
    打包上传python代码到pypi,通过pip安装使用
    Asp.Net Core 中的HTTP协议详解
    LeetCode 1931. Painting a Grid With Three Different Colors(DP)
  • 原文地址:https://www.cnblogs.com/vivizhang/p/7576512.html
Copyright © 2020-2023  润新知