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@ ...
随机推荐
- Day2 Mybatis初识(二)
mapper接口开发 传统dao的开发问题(ibatis) 方法调用:字符串易错,硬编码 mapper代理开发 a) 编写全局配置 b) 编写接口(自动根据接口和映射文件创建实现类) c) 编写映射文 ...
- MySQL 更改数据库数据存储目录
MySQL数据库默认的数据库文件位于 /var/lib/mysql 下,有时候由于存储规划等原因,需要更改 MySQL 数据库的数据存储目录. 下文总结整理了实践过程的操作步骤. 1 确认MySQ ...
- AdminLTE前端模板
AdminLTE是一个Bootstrap框架模板,其功能组件并不比我直接提到的Metronic差. 第一次接触过AdminLTE是在学习Jeesite这个开源项目的时候.离现在已经有半年了. Admi ...
- 在文章详情页调用seo标题标签
在新闻的详情页,调用当前栏目的seo标题,原标签是:{dede:field.seotitle /} {dede:type} [field:seotitle/] {/dede:type} 修改 \inc ...
- 如何接好CAN的“地”
[导读]CAN总线以其高可靠性.实时性.灵活性以及严谨的数据处理机制等特点,在工业现场和汽车行业得到广泛应用,但随着环境干扰以及节点数目的增加等对CAN总线的稳定性提出更高的要求,而面对电源地.信号地 ...
- 第11章 GPIO输出-使用固件库点亮LED—零死角玩转STM32-F429系列
第11章 GPIO输出—使用固件库点亮LED 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku. ...
- 通过脚手架创建Vue项目
第一步 准备工作 1.下载安装Node.js 验证是否安装的方法,在命令行输入node -v 2.安装Vue 在命令行输入npm install -g @vue/cli 查看Vue版本号 npm vu ...
- VB6 Common Dialog
'---------------------------- 'Class CommonDialog 'Member of MSComDlg '---------------------------- ...
- 消息队列ZeroMQ
消息队列概念 消息队列技术是分布式应用间交换信息的一种技术.消息队列可以驻留在内存或者磁盘上,队列存储消息直到它们被应用程序读走.通过消息队列,应用程序可以独立的执行,它们不需要知道彼此的位置,或者在 ...
- springmvc框架开发常用的注解总结
1.@Controller使用:表示表现层中的JavaBean被spring容器管理. 2.@requestMapping使用: a) 在方法上: 标记url到请求方法的映射, 就相当于从一个ur ...