在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为 d 则是目录
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

每个文件的属性由左边第一部分的 10 个字符来确定

更改文件属性

在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:

  • chown (change owner) : 修改所属用户与组。
  • chmod (change mode) : 修改用户的权限。

1、chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

参数选项

  • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件属主,也可以同时更改文件属组

语法:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3、chmod:更改文件9个属性

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。

rwx各权限的分数对照表如下:

  • r:4
  • w:2
  • x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx--- 分数则是:

  • owner = rwx = 4+2+1 = 7
  • group = rwx = 4+2+1 = 7
  • others= --- = 0+0+0 = 0

所以等一下我们设定权限的变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:

 chmod [-R] xyz 文件或目录

选项与参数:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
  • -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

举例来说,如果要将 .bashrc 这个文件所有的权限都设定启用,那么命令如下:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。

符号类型改变文件权限

还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:

  • user:用户
  • group:组
  • others:其他

那么我们就可以使用 u, g, o 来代表三种身份的权限。

此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:

chmod u
g
o
a
+(加入)
-(除去)
=(设定)
r
w
x
文件或目录

如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:

#  touch test1    // 创建 test1 文件
# ls -al test1    // 查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:

#  chmod  a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

Linux系统文件属性相关推荐

  1. 八.linux系统文件属性知识

    1.文件属性权限是12位,现在只看9位,其中每3个一组,为:属主权限.属组权限.其他权限,其中r可读,w可写,x可执行,如图: 2.文件属性之软硬链接   linux系统中有两种链接,为硬链接(ln) ...

  2. L012-老男孩linux高端运维课程—linux系统文件属性知识深入详解

    链接http://blog.51cto.com/oldboy/612351是删除原理的案例. 磁盘满案例:http://blogread.cn/it/article/6565?f=wb(inode占满 ...

  3. Linux系统文件属性,什么是Linux系统的文件属性?

    -rwxrwxrwx 1 root root 293 Oct 19 21:24 test 第一列表示这个文件的属性 第二列表示连接占用的节点 第三列表示文件(或目录)的拥有者 第四列表示拥有者的用户组 ...

  4. 网络安全:系统文件属性

    [#####成功在于你坚持了别人坚持不了的东西####] 1.1 系统文件属性概述 1.1.1 文件属性概述介绍 在Linux系统中,每个数据文件都会有详细的属性信息,文件的属性信息描述文件数据的存在 ...

  5. 嵌入式Linux文件提取,嵌入式 Linux系统编程(四)——文件属性

    嵌入式 Linux系统编程(四)--文件属性 一.文件属性概述 Linux 文件的属性主要包括:文件的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.文件属性示例如下 ...

  6. Linux系统中文件属性及文件权限,用户和用户组的管理

    文章目录 文件属性及权限 文件属性解释 chown更改文件属主和属组: chmod更改文件权限 用户管理 用户基础 用户分类 常见的用户管理命令 useradd命令添加用户 userdel命令删除用户 ...

  7. linux 默认文件属性,linux系统下文件的默认权限以及隐藏属性的作用

    [摘要] 操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序.操作系统需要处理如管理与配置内存.决定系统资源供需的优先次序.控制输入设备与输出设备.操作网络与 ...

  8. linux文件管理 - 系统文件属性

    -rw-------. 1 root root 4434 May 30 13:58 ks.cfg -rw-------. ①:文件类型与权限 1 ②:硬链接次数 root ③:所属用户 root ④: ...

  9. 外网访问arm嵌入式linux_嵌入式Linux系统编程——文件读写访问、属性、描述符、API

    Linux 的文件模型是从 Unix 的继承而来,所以 Linux 继承了 UNIX 本身的大部分特性,然后加以扩展,本章从 UNIX 系统接口来描述 Linux 系统结构的特性. 操作系统是通过一系 ...

最新文章

  1. FreeRTOS知识点
  2. 怎样的代码算是好代码?
  3. python怎么爬取知乎回答并制作词云_使用python爬取流浪地球影评并制作词云,看看别人都说了些说什么...
  4. init.rc语法与解析
  5. 【路径规划】基于matlab GUI改进的DWA算法机器人动态避障路径规划【含Matlab源码 1271期】
  6. 交换机——级联、堆叠和集群
  7. VMware Workstation Ubuntu 20.04 LTS无法连接网络问题
  8. Web端兼容性测试--浏览器/平台/分辨率
  9. 总价+激励合同(FPIF)的计算,与CPIF的区别
  10. 与其被生活逼,不如被自己逼
  11. 从零开始水安卓——APP内容共享
  12. 华为mate40和华为p40pro的区别
  13. 学习KNN算法重点目标
  14. J204B接口数据链路的建立
  15. 使用 Pycharm 创建一个 Django项目(详解)
  16. JNI和NKD入门系列一,纯java工程下JNI的开发流程(mac系统)
  17. 计算区间素数和,杨老师正在上《离散数学》课程的“数论”内容,讲授素数的知识。素数又称为质数。一个大于1的整数p是素数,当且仅当p只能被1和自身整除。很显然,2是最小的素数。他想设计一个程序
  18. python 操作psd_怎样用python实现对PSD-BPA的调用?
  19. Android 仿微博的点赞上报功能,持续点赞再取消
  20. python 求矩阵的转置矩阵

热门文章

  1. mybatis报错:parameter ' ' not fount.Available parameters are [0, 1, param1, param2]
  2. nodejs与JAVA应对高并发的对比
  3. const指针的一些总结
  4. k8s指定node调度
  5. *ptr++、*++ptr、++*ptr和(*ptr)++
  6. Cadedce Allegro 里面怎么切线删除一条线上的某一段
  7. 无人机在抢险救灾的优化运用---2017年中国研究生数学建模竞赛A题 (试题+优秀论文)
  8. Nanopi NEO Core测试
  9. Phoenix重磅 | Phoenix核心功能原理及应用场景介绍
  10. SQL leetcode刷题答案(一)