zoukankan      html  css  js  c++  java
  • linux的文件类型和权限

    Linux下使用ll或ls -l查看文件的信息
    (ll和ls-l的区别:ll会显示出当前目录下的隐藏文件,而ls -l不会)
     
    文件信息分为:文件类型、权限、链接数、所属用户、所属用户组、文件大小、最后修改时间、文件名,具体的可以见下图。
     
    一、文件类型:
    d:文件夹
    -:普通文件
    l:链接(类似Windows的快捷方式)
    b:块设备文件(例如硬盘、光驱等)
    p:管道文件
    c:字符设备文件(例如猫等串口设备)
    s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)
     
    二、文件权限
    权限 对应数字 意义
    r 4 可读
    w 2 可写
    x 1 可执行
     
     
     
     
     
     
    -:某一位置为空时显示-,表示不具备这个权限
    权限位由9位组成,前3位表示文件拥有者的权限,中间3位表示文件所属用户组的权限,后3位表示其他用户的权限。
     
    举例如下:
    drwxr-xr-x  2 root mail  4096 1月  12 03:44 account
    表示文件夹account,root是他的所属拥有者,具有可读可写可执行的权限;mail是他的所属用户组,具有可读、可执行的权限,不具备可写的权限;其他用户针对这个文件夹具有可读、可执行的权限,不具备可写的权限
     
    更改权限命令:
    chmod 权限 文件名
    chmod有两种用法
    1.chmod 用户+(-)权限 文件名
    用户 意义
    u 所有者(user)
    g 所属群组(group)
    o 其他人(other)
    a 全部的人(all)
     
     
     
     
     
     
     
    (增加权限用+,减少权限用-,直接等于的权限用=)
     
    例:给文件test.txt的其他用户增加可读的权限
    chmod o+r test.txt
     
    权限其他说明:
    文件都有默认权限:
    类型 默认权限
    文件 rw-rw-rw-
    目录 rwxrwxrwx
     
     
     
     
     
     
     
    但是这个权限不一定是我们linux系统的默认权限,每个系统都有一个权限掩码(unmask)
    使用命令查看权限掩码(umask查看数字掩码;umask -S查看字符掩码)
    数字掩码:默认掩码减去数字掩码代表的权限
    字符掩码:取默认淹没和字符掩码的交集代表权限
    修改权限掩码的命令:umask 007(或者umask u=rw,g=rwx,o=r)
     
    2.chmod 权限数字 文件名
    权限数字由3位数组成,第1位数表示所有者的权限;第2位数表示所属群组的权限;第3位数表示其他人的权限
    例:将test.txt文件变更权限为文件拥有者可读可写可执行,文件所属组可读可写可执行;其他人可读可执行不可写。
    chmod 775 test.txt
    说明:数字是对应权限的数值和。例如7=4+2+1,所以7代表可读可写可执行。5=4+1,所以5代表可读可执行不可写。0代表不可读不可写不可执行
     
    三、文件所属的拥有者和所属群组
    1.更改文件拥有者
    命令:chown 用户名 文件
    例如:chown work test.txt(将test.txt的拥有者变更为work)
     
    2.更改文件的所属群组
    命令:chgrp 群组名称 文件
    例如:chgrp named test(将test的所属群组变更为named)
     
    其他:
    1.chmod和chgrp、chown都有一个参数-R,可以递归的将目录及它以下的子目录一起变更权限等
    2.有的ll后,发现第一段的权限后还有一个“.”或者“+”,如下图所示:
    在网上查了一下,
    “.”表示有selinux的安全标签,具有安全上下文属性(可以用ll -LZ查看)
    “+”表示文件应用了其他访问控制的安全措施
    (感兴趣的大家可以自己去查询一下,我也没有去查询太多的内容。)
  • 相关阅读:
    构造json响应,重定向响应及终止响应,设置及使用cookies
    Logging模块封装,打印日志
    oracle-数据库的安装与建库
    socket使用实例
    flask的路由、请求方式设置
    Python 元组
    Python 列表的增删改查
    Python 学习之[列表][元组]
    Python学习之[for 循环]
    Python学习之[字符串]
  • 原文地址:https://www.cnblogs.com/meitian/p/5125193.html
Copyright © 2011-2022 走看看