Linux 文件系统 -- 文件权限简介
一、文件权限
使用 ls -l 命令可以查看文件的具体属性:

如图所示,第一列所示告诉了用户一个文件的类型和权限信息:
1)第一个字符 "d",表明该文件是一个目录文件;
2)r 表示该文件具有可读权限;
3)w 表示该文件具有写权限;
4)x 表示该文件具有可执行权限。
5)第一个 rwx 表示该文件所有者的权限;第二个 rwx 表示该文件所在组的权限;第三个 rwx 表示其他用户对该文件的权限。
二、使用 chmod 命令修改文件权限
可以使用 chmod 命令来改变文件的权限,chmod 命令有两种使用方法:
2.1 使用数字类型来改变文件的权限
我们已经知道,一个文件使用 r、w、x 来分别代表三种权限属性。每个 rwx 为一组,共有三组。给每个权限都赋一个权值:r -> 4 ,w -> 2,x -> 1,这样就可以用数字的方式来表示一组的文件权限,如:rwx 转化为数字为 4 + 2 + 1 = 7;r-x 转化为数字为 4 + 1 = 5。因此,若一个文件的权限属性为:rwxr-xr-x,转化成数字即为 755。
chmod newfile # 将文件 newfile 的权限设为 rwxr-xr-x
chmod newfile # 将文件 newfile 的权限设为 r---w---x
2.2 使用字符的方式来改变文件权限
可以在 chmod 后面接上字符选项来改变文件权限:
1)u(user),表示为文件所有者设置权限;
2)g(group),表示为文件所在组设置权限;
3)o(other),表示为其他用户设置访问权限;
4)a(all),表示为所有用户设置访问权限。如果没有添加u、g、o选线,则 chmod 命令默认添加 a 选线;
5)+,表示为文件添加某种权限,后面可接 r、w、x,分别表示添加可读权限(+r),添加写权限(+w),添加可执行权限(+x);
6)-,表示给文件删除某种权限,后面可接r、w、x,分别表示删除可读权限(-r),删除写权限(-w),删除可执行权限(-x);
7)=,表示给文件赋予某种权限,后面可接r、w、x,分别表示赋予可读权限(=r),赋予写权限(=w),赋予可执行权限(=x);
chmod +x newfile # 为所有用户添加该文件的可执行权限
chmod u+r newfile # 为文件的所有者添加可读权限
chmod o-x newfile # 删除其他用户的可执行权限
chmod u=rwx newfile # 为文件的所有者赋予 rwx 的权限
三、特殊权限位
除了常见的 r、w、x 权限外,linux 文件还有一些特殊权限:SUID、SGID 和 SBIT:
3.1 SUID
SUID 的标志为 s,出现在文件所有者的 x 权限上,其作用是让执行该文件的用户在使用这个文件时具有该文件所有者的权限:
1)SUID 权限仅对二进制可执行文件有效,不能用于目录文件,脚本也不行;
2)执行者对于该文件需要由可执行权限;
3)本权限仅在执行该文件的过程中有效,即在文件被执行时文件使用者才具备该文件所有者的权限,执行完毕后不再拥有文件所有者的权限;
关于 SUID 的一个典型的例子就是 /etc/passwd 和 /usr/bin/passwd 文件:

如图所示,/etc/passwd 文件是系统用于存放用户登录相关的重要信息(用户名、密码等)的文件,可以看到,该文件的所有者(即 root)拥有读写权限,用户组的用户和其他用户只有读权限没有写权限。但是我们发现,在系统中,root 用户和普通用户都可以使用 passwd (即 /usr/bin/passwd 文件)命令来修改这个 /etc/passwd 文件。这是因为 /usr/bin/passwd 文件被设置了 SUID 权限,所有用户在使用 passwd 命令时都可以获得 passwd 命令所有者的权限,passwd 命令的所有者是 root,因此普通用户在使用 passwd 命令时也具有 root 权限。这样就可以通过 passwd 命令来修改 /etc/passwd 这个文件了。
3.2 SGID
SGID 的标志为 s,出现在文件所在组的 x 权限上。 与 SUID 一样,其作用是让执行该文件的用户在使用该文件时具有该文件所属组的权限。
3.3 SBIT
SBIT 的标志为 t,出现在文件其他用户的 x 权限上,只能用于目录。其作用是,该目录下的文件只有文件的创建者自己和 root 用户才可以执行删除或修改操作。
3.4 SUID、SGID、SBIT 权限位的设置
与 r、w、x 一样,这三个标志位也可以用数字来标识: SUID -> 4、SGID -> 2、SBIT -> 1,在使用时,只需要将数字标识加在 rwx 的数字标识之前即可:
chmod newfile # 为文件设置 rwsr-xr-x 权限
chmod newfile # 为文件设置 rwxr-sr-x 权限
chmod 7 newdirectory # 为目录设置 rwsr-sr-t 权限
Linux 文件系统 -- 文件权限简介的更多相关文章
- 第六章、Linux 的文件权限与目录配置
第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...
- 全面解析Linux数字文件权限
全面解析Linux数字文件权限 来源: 时间:2013-09-04 20:35:13 阅读数:11433 分享到:0 [导读] 在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细 ...
- [转]Linux中文件权限目录权限的意义及权限对文件目录的意义
转自:http://www.jb51.net/article/77458.htm linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括 ...
- linux初学者-文件权限
linux初学者-文件权限 lunix系统都是以文件的形式存在,自然而然的就会要求不同的用户拥有不同的权限,这也是系统能够运行的根本保证,下文将对文件的权限管理进行简要的介绍. 1.文件属性的查看 - ...
- Linux 的文件权限和目录配置
1.Linux文件属性 用root用户登录linux后,执行 ls -al 命令查看文件.显示如下: 文件属性示意图如下: 第一列代表这个文件的类型和权限 第一个字符代表这个文件是:目录.文件或链接文 ...
- 【转】第六章、Linux 的文件权限与目录配置
原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一, ...
- Linux 的文件权限与目录配置
用户和用户组 文件所有者 (owner) 用户组概念 (group) 其他人概念 (others) Linux文件权限概念 1. Linux文件属性 要了解Linux文件属性,那么有个重要的命令必须提 ...
- linux——(2)文件权限与目录配置
概念一:用户与用户组 对linux下的每一个文件或者目录来说,访问者都有三种身份:所有者,用户组,其他人.这三种人对于同一个文件的权限是可以分开设定的. 概念二:linux文件权限 文件和目录都有3种 ...
- Linux更改文件权限(二)
更改文件权限(二)============================== (参考于千锋教育教学笔记) 命令umask [root@aminglinux ~]# umask 0022 [root@ ...
随机推荐
- BZOJ3667:Rabin-Miller算法(Pollard-Rho)
Description Input 第一行:CAS,代表数据组数(不大于350),以下CAS行,每行一个数字,保证在64位长整形范围内,并且没有负数.你需要对于每个数字:第一,检验是否是质数,是质数就 ...
- ngRouter和ui-router区别
在单页面应用中要把各个分散的视图给组织起来是通过路由机制来实现的.本文主要对 AngularJS 原生的 ngRoute 路由模块和第三方路由模块 ui.router 的用法进行简单介绍,并做一个对比 ...
- docker常用命令(一)
1. docker命令 docker images //查看本地镜像 docker rmi 镜像名称:标签名称 //删除一个镜像 docker rm 容器ID //删除一个容器 docker comm ...
- (转)LR性能测试结果样例分析
原文作者:猥琐丶欲为 传送门:http://www.cnblogs.com/hyzhou/archive/2011/11/16/2251316.html 测试结果分析 LoadRunner性能测试结果 ...
- CCF 201709-2公共钥匙盒
问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须放在公共钥匙盒里,老师不能带钥匙回家.每次老师上课前,都从公共钥匙盒里找到自己上课的教室的钥匙去开门,上完课后,再将钥匙放回到钥匙盒中 ...
- C中gets()函数与scanf()函数说明
scanf( )函数和gets( )函数都可用于输入字符串,但在功能上有区别.若想从键盘上输入字符串"hi hello",则应该使用 gets 函数. gets可以接收空格:而sc ...
- Lint Code 1365. Minimum Cycle Section
这题可以看作POJ 1961 最小循环节的一个简化版本.某补习班广告贴里给出的两个指针的参考解法简直大误. 受POJ 1961的启发,把数组看作字串,观察可知,如果字串全部由循环节构成(包括最后一段是 ...
- springboot-web进阶(三)——统一异常处理
补充 springboot中也是一样的可以对结果进行统一格式的包装,这样也就方便了前台的统一接收处理了: 1.结果集包装类 package com.example.demo.bean; /** * 结 ...
- linux-RPM 打包原理 SPEC 编写规范
一.编写spec脚本 由前面的日志了解到,生成rpm除了源码外,最重要的就是懂得编写.spec脚本.rpm建包的原理其实并不复杂,可以理解为按照标准的格式整理一些信息,包括:软件基础信息,以及安装.卸 ...
- 前端- css - 总结
1.css层叠样式表 1.什么是CSS? CSS是指层叠样式表(Cascading Style Sheets),样式定义如何显示HTML元素,样式通常又会存在于样式表中. 也就是说把HTML元素的样式 ...