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@ ...
随机推荐
- 【CF917D】Stranger Trees
题目 看题解的时候才突然发现\(zky\)讲过这道题啊,我现在怕不是一个老年人了 众所周知矩阵树求得是这个 \[\sum_{T}\prod_{e\in T}w_e\] 而我们现在的这个问题有些鬼畜了, ...
- Java并发编程--6.Exchanger线程间交换数据
在两个线程之间定义同步点,当两个线程都到达同步点时,他们交换数据结构,因此第一个线程的数据结构进入到第二个线程中,第二个线程的数据结构进入到第一个线程中 在生产者-消费者情境模式中它包含了一个数缓冲区 ...
- 多线程之ThreadLocal(转)
相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路:ThreadLocal的目的是为了解决多线程访问资源时的 ...
- C#中控件Control的Paint事件和OnPaint虚函数的区别
句柄 : 句柄,是整个Windows编程的基础.一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按 ...
- 第12章 GPIO输入-按键检测—零死角玩转STM32-F429系列
第12章 GPIO输入—按键检测 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fi ...
- 【LeetCode415】Add Strings
题目描述: 解决思路: 此题较简单,和前面[LeetCode67]方法一样. Java代码: public class LeetCode415 { public static void main(St ...
- Struts2知识点小结(一)
一.struts2简介 1.Struts2是一个基于MVC设计模式的Web应用框架 只要是web层框架 一般就会遵守MVC设计模式 2.struts2与struts1的关系? ...
- laravel 5.5 《电商实战 》基础布局
我们需要为我们的项目构建一个基础的页面布局,布局文件统一存放在 resources/views/layouts 文件夹中,布局涉及的文件如下: app.blade.php —— 主要布局文件,项目的所 ...
- python-docx操作word文件(*.docx)
目录 基础操作 对象关系 添加样式 中文字体微软雅黑,西文字体Times New Roman 首行缩进 单独设置标题样式 设置超链接 参考文档 基础操作 from docx import Docume ...
- 20155327 java第四周学习笔记
20155327 java第四周学习笔记 五六章知识整理 1子类与父类 父类是接口或者是抽象类,子类必须继承自父类. 2子类的继承性 在Java中,通过关键字extends继承一个已有的类,被继承的类 ...