一、文件权限

1、查看文件权限

(1)文件权限

在 Linux 中对于文件有四种访问权限,列举如下:

  • 可读取:r,Readable
  • 可写入:w,Writable
  • 可执行:x,Execute
  • 无权限:-

另外,在 Linux 中对于权限的设置有三组对象,列举如下:

  • 所有者:u,User
  • 所属组:g,Group
  • 其他用户:o,Other

(2)查看文件权限

我们可以使用 ls -l 文件名 命令查看一个文件的权限,其中每一行显示内容的第一个字段就是对文件权限的描述

例如:

user@ubuntu:~$ ls -l
total 8
drwxrwxr-x 2 user user 4096 Sep 12 16:05 test
-rw-rw-r-- 1 user user 12 Sep 12 16:00 test.txt

其中,test.txt 文件的权限表示为 -rw-rw-r--

第 1 个字符 - 表示 文件类型 为普通文件

第 2~4 个字符 rw- 表示 所有者权限 为可读取,可写入,不可执行

第 5~7 个字符 rw- 表示 所属组权限 为可读取,可写入,不可执行

最后,第 8~10 个字符 r-- 表示 其它用户权限 为可读取,不可写入,不可执行

再补充一下其它文件类型的符号表示:

  • -:普通文件

  • b:块设备文件,块设备简单来说就是存储数据的接口设备,例如硬盘

  • c:字符设备文件,字符设备简单来说就是串行端口设备,例如键盘、鼠标

  • d:目录

  • l:链接文件,原文件的软链接,相当于 Windows 下的快捷方式

  • p:管道文件,常用于进程通信

  • s:套接字文件,常用于网络通信

2、修改文件权限

(1)权限表示方法

① 数字表示法

将所有者、所属组和其他用户的访问权限分别转化为八进制数字,再根据八进制数字转化为十进制数字

有相应的权限数字表示为 1,反之为 0,例如:rwxrwxr-x -> (111)(111)(101) -> (7)(7)(5) -> 775

② 文字表示法

所有者使用 u 表示、所属组使用 g 表示、其他用户使用 o 表示;

读取权限使用 r 表示、写入权限使用 w 表示、执行权限使用 x 表示

(2)修改文件权限

在 Linux 中修改文件权限可以使用 chmod 命令,具体使用方法如下:

① 对于数字表示法

语法格式:

chmod 数字表示法 文件名

例如:chmod 664 file.txt

② 对于文字表示法

语法格式:

chmod 文字表示法的权限修改 文件名

例如:

增加所有者的执行权限:chmod u+x file.txt

减少所属组的写入权限:chmod g-w file.txt

重新指定其他用户的访问权限:chmod o=rw file.txt

(3)目录权限

修改目录权限所使用的命令以及语法和上面是完全一致的,不同之处在于符号含义的差异

r:可以使用 ls 命令列出目录中的内容

w:可以在目录中新建、删除、修改文件

x:可以只用 cd 命令切换到目录

-:无任何权限

注意:若修改目录权限时发现该目录含有子目录并需要一同修改的,则需要使用 -R 参数

3、权限掩码

权限掩码由 4 个八进制数字组成,用来指定新建文件或目录的默认权限

权限掩码和默认权限之间的关系如下:默认权限 - 权限掩码 = 新建文件或目录的默认权限

在 Linux 下,文件的默认权限为 666,目录的默认权限为 777,而默认的权限掩码为 002

所以,新建文件的默认权限为 666 - 002 = 664,新建目录的默认权限为 777 - 002 = 775

我们可以使用 umask 命令检查和修改默认的权限掩码

【Linux学习笔记相关文章】

Liunx学习笔记(三) 文件权限的更多相关文章

  1. linux学习笔记二-----文件权限管理

    一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...

  2. Linux学习笔记之文件权限

    前言: 说起文件权限,大家在windows下应该很熟悉就对文件右键属性,然后配置一点什么读写之类的权限,然后可以分配到每个的人. 对于linux 我先为大家介绍一个使用者和组和其他的概念说明一下 文件 ...

  3. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  4. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  5. APUE 学习笔记(三) 文件和目录

    1. 文件类型 文件类型信息包含在 struct stat 里的 st_mode 成员 (1)普通文件,unix内核并不区分文本文件和二进制文件 (2)目录文件,这种文件包含了其他文件的名字以及指向这 ...

  6. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  7. APUE学习笔记3_文件IO

    APUE学习笔记3_文件IO Unix中的文件IO函数主要包括以下几个:open().read().write().lseek().close()等.这类I/O函数也被称为不带缓冲的I/O,标准I/O ...

  8. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  9. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

随机推荐

  1. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值

    关于ExecuteNonQuery执行存储过程的返回值 用到过ExecuteNonQuery()函数的朋友们在开发的时候肯定这么用过. if(cmd.ExecuteNonQuery("xxx ...

  2. 【POI2007】【Bzoj 1103】大都市meg

    http://www.lydsy.com/JudgeOnline/problem.php?id=1103 在线查询某点到根节点的点权和,参考DFS序&欧拉序列,用树状数组维护即可O(nlogn ...

  3. ORACLE分区表发挥性能

    1.1 分区表PARTITION table 在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能. 1.1.1 分区表的建立: 某公司的每年产生巨大的销售记录,DBA向公司建议 ...

  4. Tarjan求桥

    传送门(poj3177) 这道题是Tarjan求桥的模板题.大意是要求在原图上加上数量最少的边,使得整张图成为一个边双联通分量. 具体的做法是,先在图中求出所有的桥,之后把边双联通分量缩成点,这样的话 ...

  5. 4.7.3 Canonical LR(1) Parsing Tables

    4.7.3 Canonical LR(1) Parsing Tables We now give the rules for constructing the LR(1) ACTION and GOT ...

  6. 02_cfork分叉进程

    fork函数.调用它就可以在当前的进程当中给它分叉出一个新的进程.分叉出的进程就可以看看它有什么特点?

  7. E20171230-hm

    refine   vt. 提炼; 改善; 使高雅; revert  vi. 恢复; 重提; 回到…上; <律>归还;             vt. 使恢复原状;            n ...

  8. GitHub中有关已建仓库及上传项目文件的删除

    上传了项目,竟然发现找不到删除的地方,真是囧... 1. 已建仓库的删除 点击 settings,进入以下界面,点击箭头指向的按钮 进入以下界面 2. 某个文件的删除 直接点开文件,在右上角有个删除工 ...

  9. bzoj 2726: [SDOI2012]任务安排【cdq+斜率优化】

    cdq复健.jpg 首先列个n方递推,设sf是f的前缀和,st是t的前缀和: \[ f[i]=min(f[j]+s*(sf[n]-sf[j])+st[i]*(sf[i]-sf[j])) \] 然后移项 ...

  10. P3573 [POI2014]RAJ-Rally

    传送门 很妙的思路 首先这是一个DAG,于是我们先在原图和反图上各做一遍,分别求出\(diss_i\)和\(dist_i\)表示从\(i\)点出发的最短路和以\(i\)为终点的最短路 我们考虑把点分为 ...