(随用随总结)Linux下面的特殊权限&不同的文件类型
一.Linux的文件信息
linux文件被保存在文件系统下,由以下属性组成: ls -l 之后看到的信息 从左到右可以看到文件的以下属性
- 各种类型
- 访问权限
- 链接数(跟 inode相关,ln 硬链接(会增加同一个inode对应的文件数目),ln -s软链接)
- 文件拥有者
- 文件拥有组
- 修改时间等
文件名
二. 本文重点介绍各种类型和访问权限举例:
- -rwxrwxrwx
- drwxrwxrwx
- srwxrwxrwx
- drwsrwsrwt
三. 最开始的bit表示文件类型:
文件类型 | 缩写 | 英文 | 其他名称 |
---|---|---|---|
普通文件 | - | Regular file | |
目录文件 | d | Directory file | |
块特殊文件 | b | Block special file | 块设备文件 |
字符设备文件 | c | Character special file | 字符设备文件 |
先进先出 | p | FIFO | named pipe,命名管道 |
套接字文件 | s | Socket | |
符号链接 | l | Symbolic link | 软链接 |
各文件类型简介
各文件类型的主要含义如下[1]
- 普通文件(Regular file)
- 普通意义上的文件,如数据文件、可执行文件等。
- 目录文件(Directory file)
- Linux中目录也是一种文件。目录文件包括了文件夹中所有文件的名字和在分区中的位置。目录文件的权限意义也较特殊。
- 块设备文件(Block special file)
- 一种提供带缓冲的固定大小单元读写的设备文件。如硬盘设备(/dev/sda)及硬盘分区(/dev/hda1)等。
- 字符设备文件(Character special file)
- 此种类型文件提供无缓存的变长单元读写。一个设备如果不是块设备,就是字符设备。
- 命名管道(named pipe或FIFO)
- 用于系统进程间通信的文件。
- 套接字文件(Socket)
- 进程之前通过网络进行通信的文件。多数网络连接都是用Socket建立的。
- 符号链接(Symbolic link)
- 此种文件仅是一个链接。
四. 文件默认权限,特殊权限
文件权限默认是: 644 rw-r--r--
文件夹权限默认: rwxr-xr-x 表示 755
下面重点讲解特殊权限:
一般来说,使用过Linux的同学都知道,Linux文件的权限有rwx,所有者、所有组、其它用户的rwx权限是彼此独立的。为此,经常会听到如果某个web文件需要被修改的话,需要加上777的权限,这就是让所有用户可写。
但仔细一想,这样的权限未免有些想得比较天真,没有考滤特殊情况。例如/tmp目录默认权限是777,而且有些文件也是允许所有用户访问修改的,那么是不是任何一个用户都可以将这些删除呢?再如/etc/shadow保存的是用户密码文件,默认情况下它的权限是640,那么只有shadow的owner(root)才能修改它,按照常规理解,这是不可理解的,因为每个用户都可能修改密码,也就是会修改这个文件。
为了把这些情况解释清楚,需要引入Linux特殊文件权限的概念。Linux特殊文件权限有三个玩意:sticky bit、SGID、SUID,以下一一道来。
sticky bit
sticky bit只对目录有效,使目录下的文件,只有文件拥有者才能删除(如果他不属于owner,仅属于group或者other,就算他有w权限,也不能删除文件)。
加sticky bit的方法:
chmod o+t /tmp或者
chmod 1777 /tmp
查看是否加了sticky bit,用ls -l,可以看到有类似这样的权限:“-rwxrwxrwt”,t就代表已经加上了sticky bit,而且生效了,如果显示的是“-rwxrwxrwT”,说明也已经加上了sticky bit,但没有生效(因为本来other就没有写的权限)。
看看/tmp目录的权限,就是drwxrwxrwt吧
SGID(The Set GroupID )
加上SGID的文件,表示运行这个程序时,是临时以这个文件的拥有组的身份运行的;加上SGID的文件夹,表示在这个目录下创建的文件属于目录所有的组,而不是创建人所在的组,在这个目录下创建的目录继承本目录的SGID。
加SGID的方法:
chmod g+s /tmp或
chmod 2777 /tmp
查看是否加了SGID,用ls -l,可以看到类似这样的权限“drwxrwsrwx”,s就代表已经加上了SGID,而且生效,如果显示“drwxrwSrwx”,说明已经加上了SGID,但没有生效(因为本来group就没有执行的权限)。
SUID(The Set UserID)
SUID与SGID是一样的,惟一不同的是,运行时是以这个文件的拥有者身份来运行。
加SUID的方法:
chmod o+s /tmp或
chmod 4777 /tmp
同样的,加了SUID的文件权限有这类似这两种:“drwsrwxrwx”、“drwSrwxrwx”。
看看passwd命令的权限:ll /usr/bin/passwd,是"-rwsr-x-rx",终于知道为什么执行passwd时,可以修改/etc/shadow文件了吧。
参考文献:
1. http://linux-wiki.cn/wiki/%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5
2.http://blog.chinaunix.net/uid-22566367-id-3080977.html
3.http://linux.chinaitlab.com/command/794584.html
(随用随总结)Linux下面的特殊权限&不同的文件类型的更多相关文章
- linux命令:文件类型和扩展名
在linux系统中,一切皆是文件.Linux文件类型常见的有:普通文件.目录文件.字符设备文件和块设备文件.数据接口文件,符号链接文件,数据传送文件等. 1. 普通文件 用 ls -lh 来查看某个文 ...
- 每天一个linux命令(24):Linux文件类型与扩展名
Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文 ...
- CentOS(七)--Linux文件类型及目录配置
这篇随笔将会对Linux系统的文件类型以及Linux的目录结构进行详细补充(linux中目录管理和权限非常重要,特别是在linux安装数据库类软件). 一.Linux更改文件权限的两种方式 在之前的一 ...
- Linux文件类型与扩展名
Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文 ...
- linux学习笔记之文件类型,及目录介绍
引用A:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/20/3033131.html 引用B:http://www.cnblogs.c ...
- 每天一个linux命令(24)--Linux文件类型与扩展名
linux 文件类型和Linux 文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如 file.txt file.tar.gz.这些文件虽然要用不同的程序来打开,但放在Lin ...
- Linux系列教程(五)——Linux链接命令和权限管理命令
前一篇博客我们讲解了Linux文件和目录处理命令,还是老生常淡,对于新手而言,我们不需要完全记住命令的详细语法,记住该命令能完成什么功能,然后需要的时候去查就好了,用的多了我们就自然记住了.这篇博客我 ...
- Linux的文件类型
在Linux中,文件的颜色都是有含义的.其中, Linux中文件名颜色不同,代表文件类型不一样. 浅蓝色:表示链接文件: 灰色:表示其他文件: 绿色:表示可执行文件: 红色:表示压缩文件: 蓝色:表示 ...
- 搞懂Linux下的几种文件类型
在Linux系统下,有七类文件类型: 普通文件(-) 目录(d) 软链接(字符链接L) 套接字文件(S) 字符设备(S) 块设备(B) 管道文件(命名管道P) 普通文件.目录.软链接无需多解释. 管道 ...
随机推荐
- Qracle、Sql server 、mysql查询练习题
1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 fro ...
- PHPMailer_v5.1 使用[转]
<?php /* * email 报警,主要检查服务器数据库是否还能正常连接 */ require("../common/config.php"); include(&quo ...
- 服务端REST与SOAP的探讨
REST简介 在开始我们的正式讨论之前,让我们简单看一下REST的定义. REST(Representational State Transfer)是Roy Fielding提出的一个描述互联系统架构 ...
- 4CIF是什么意思
QCIF:176X144 CIF:352X288 2CIF:704X288 DCIF:584X384 4CIF:704X576 CIF是常用的标准化图像格式(Common Intermediate F ...
- 一个.net Cookie组件的bug引发的题外话
在.net里,做过Http模拟发送请求的朋友们应该遇到过,有个时候无论怎么努力,都没办法让Cookie跟网页用浏览器所收集的一样,其中原因除了有些Cookie大概是ReadOnly之外,似乎另有隐情: ...
- <c:forEach items="${revertList}" varStatus="reverts" var="revert" > <dl >
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的 ...
- JDBC数据库编程:ResultSet接口
掌握ResultSet接口 使用ResultSet接口进行查询 ResultSet接口 在JDBC操作中,数据库所有查询记录将使用ResultSet进行接收,并使用ResultSet显示内容. 常用方 ...
- 如何从官网下载Spring
1.Spring下载地址http://repo.spring.io/release/org/springframework/spring/ 里面有各自版本下载: 方法二: 1.在百度中输入Spring ...
- Mybatis <if>标签
格式:<if test=""> sql语句 </if> <select id="selectByName" resultType= ...
- Python-装饰器进阶
基本概念 具体概念请先看之前的文章 理解装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理, Web权限校验, Cache等. 很有名的例子,就 ...