Liunx学习笔记(三) 文件权限
一、文件权限
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学习笔记相关文章】
- Linux学习笔记(一) 文件系统
- Linux学习笔记(二) 文件管理
- Liunx学习笔记(三) 文件权限
- Linux学习笔记(四) vi编辑器
- Linux学习笔记(五) 账号管理
- Linux学习笔记(六) 进程管理
- Linux学习笔记(七) 查询系统
Liunx学习笔记(三) 文件权限的更多相关文章
- linux学习笔记二-----文件权限管理
一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...
- Linux学习笔记之文件权限
前言: 说起文件权限,大家在windows下应该很熟悉就对文件右键属性,然后配置一点什么读写之类的权限,然后可以分配到每个的人. 对于linux 我先为大家介绍一个使用者和组和其他的概念说明一下 文件 ...
- python学习笔记(三):文件操作和集合
对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...
- python学习笔记三 文件操作(基础篇)
文件操作 打开文件 open(name[,mode[,buffering]]) open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉] w ...
- APUE 学习笔记(三) 文件和目录
1. 文件类型 文件类型信息包含在 struct stat 里的 st_mode 成员 (1)普通文件,unix内核并不区分文本文件和二进制文件 (2)目录文件,这种文件包含了其他文件的名字以及指向这 ...
- java之jvm学习笔记三(Class文件检验器)
java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...
- APUE学习笔记3_文件IO
APUE学习笔记3_文件IO Unix中的文件IO函数主要包括以下几个:open().read().write().lseek().close()等.这类I/O函数也被称为不带缓冲的I/O,标准I/O ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
随机推荐
- html使用css让文字超出部分用省略号三个点显示的方法案例
html使用css让文字超出部分用省略号三个点显示的方法: 我正确使用的就是下面的代码,li里面是a标记.在IE和google中使用是正常的,火狐不知道,我也不在意,等你来测 li{ display: ...
- Controller控制器的使用
如果不加@Controller注解,浏览器它是无法访问到的.@RequestMapping通过某个URL访问到我们写的方法
- 洛谷P4158 [SCOI2009]粉刷匠
传送门 设$dp[i][j][k][0/1]$表示在涂点$(i,j)$,涂了$k$次,当前点的颜色是否对,最多能刷对多少个格子 首先换行的时候肯定得多刷一次 然后是如果和前一个格子颜色相同,那么当前点 ...
- ngCordova插件说明
转载自 http://my.oschina.net/u/1416844/blog/495026 参 考http://blog.csdn.net/superjunjin/article/details/ ...
- codechef: ADAROKS2 ,Ada Rooks 2
又是道原题... (HDU 6313 Hack It , 多校 ACM 里面的题) 题目说构造一个 n * n 矩阵,染色点不得构成矩形...然后染色点个数至少 8 * n 然后我们生成一个数 m , ...
- Android 性能优化(5)网络优化 (1) Collecting Network Traffic Data 用Network Traffic tool :收集传输数据
Collecting Network Traffic Data 1.This lesson teaches you to Tag Network Requests 标记网络类型 Configure a ...
- ASP.NET Core&EF 笔记
首先创建Asp.net Core项目,然后通过 NuGet 安装 EntityFrameworkCore: Microsoft.EntityFrameworkCore.SqlServer Micros ...
- 299 Bulls and Cows 猜数字游戏
你正在和你的朋友玩猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜.每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为”Bulls“, 公牛),有多少位数字 ...
- java list遍历三种方法
JSONArray jsonArray = new JSONArray(); jsonArray.add("1"); jsonArray.add("2"); j ...
- Sql server 本地临时表、全局临时表的区别
创建了本地临时表#Tmp.全局临时表##Tmp: 本地临时表: 取名以#开头.如:#Tmp(会自动加上一串后缀) 只有当前的连接可以访问 连接关闭后,本地临时表自动释放 全局临时表: 取名以##开头. ...