Linux文件和目录的属性及权限
Linux文件和目录的属性及权限讲解
文字解释:
第一列:inode索引节点
第二列:文件类型及权限
第三列:硬链接个数
第四列:文件或目录所属的用户(属主)
第五列:文件或目录所属的用户所归属的组(用户组)
第六列:文件或目录的大小
第七、八、九列:文件或目录的最近修改时间
第十列:实际的文件名或目录名(文件名称存放在上级目录的block中)
ls -l 显示的时间是修改时间。
[root@oldboy ~]# ls -l --time-style=long-iso
total 9104
-rw-------. 1 root root 1056 2016-07-05 21:13 anaconda-ks.cfg
drwxr-xr-x. 8 root root 4096 2016-07-18 17:57 data
-rw-r--r--. 1 root root 9264484 2015-04-15 01:40 etc.tar.gz
-rw-r--r--. 1 root root 21682 2016-07-05 21:13 install.log
-rw-r--r--. 1 root root 5890 2016-07-05 21:12 install.log.syslog
文件的时间说明:
Access: 2016-07-21 15:33:01.698142377 +0800 <==访问时间 find -atime
Modify: 2016-07-19 09:35:42.432295596 +0800 <==修改时间,内容发生变化 find -mtime
Change: 2016-07-19 09:35:42.452302559 +0800 <==变化时间,包含Modify权限、属主、用户组 find -ctime
stat命令查看时间等的属性
Linux在硬盘格式化分区、创建文件系统时,主要创建了两部分:
第一部分是inode索引节点(很多个):
用来存放文件的属性(文件类型、修改时间、权限等),文件的属性不包括文件名。
inode存放的还包含指向文件实体的指针的功能(inode节点--block的对应关系)等。
第二部分是Block数据块(很多个):
用来存放数据和内容(照片、视频、文档等)
我们读取一个文件的内容时需要通过inode节点指向这个文件的block里,然后通过指向才能从block中读取数据和内容,因为数据和内容都是存放在block里的。
每个文件或目录的inode大小(存放属性的大小):5.8是128 6.4是256
Linux有关block的知识:
1)磁盘读取数据是按block为单位读取的。
2)一个文件可能占用多个block。每读取一个block就会消耗一次磁盘I/O。
3)如果要提升磁盘IO性能,那么就要尽可能一次性读取数据尽量的多。
4)一个block只能存放一个文件的内容,无论内容有多小。如果block 4K,那存放1K的文件,剩余3K就浪费了。
5)block并非越大越好。block太大对于小文件存放就会浪费磁盘空间。
例如:1000K的文件,block为4K,占用250个block;block为1K,占用1000个block。访问效率谁更高?消耗IO分别为250次和1000次。
6)大文件(大于16K)一般设置block大一点;小文件(小于1K)一般设置block小一点。
7)block太大例如4K,文件都是0.1K的,大量浪费磁盘空间。
8)block太小例如1K,文件都是1000K的,消耗磁盘IO。
9)block的设置也是格式化分区时候 mkfs.ext4 -b 2048 -I 256 /dev/sdb(工作中不要改)
10)文件较大时,block设置大一些会提升磁盘访问效率。
11)ext3/ext4文件一般设置为4K。
文件原理图:
inode原理图:
学会给阶段性的知识做小结是学好Linux的好习惯
有关inode知识的小结:
1)磁盘分区格式化为ext4文件系统后会生成一定数量的inode和block。
2)inode是索引节点,作用是存放文件的属性信息以及作为文件的索引(指向文件的实体block)。
3)ext3/ext4文件系统的block存放的是文件的实际内容。
4)block的大小一般有1k,2k,4k几种。其中引导分区等为1k,其它普通分区为4k(C6)。
[root@oldboy ~]# dumpe2fs /dev/sda1|grep -i "block size" <==/boot分区1024(1K)
dumpe2fs 1.41.12 (17-May-2010)
Block size: 1024
[root@oldboy ~]# dumpe2fs /dev/sda3|grep -i "block size" <== / 根分区4096(4K)
dumpe2fs 1.41.12 (17-May-2010)
Block size: 4096
5)inode是一块磁盘存储空间,C6非启动分区inode默认大小256字节,C5是128字节。
6)inode是一串数字,不同的文件对应的inode(一串数字)在文件系统里是唯一的。
7)inode号相同的文件,互为硬链接文件(文件的又一个入口)。
8)一个文件被创建后至少要占用一个inode和一个block。可以理解为一个文件诞生需要一个inode和一个block,就算是空文件,系统也会分配给它inode和block。
9)如果一个文件很大,可能占多个block(4K)。
10)如果文件很小,也要至少占一个block,并且剩余空间 不可以使用了(浪费了)。
11)inode大小和总量查看
[root@oldboy ~]# dumpe2fs /dev/sda3|egrep -i "block size|Inode size"
dumpe2fs 1.41.12 (17-May-2010)
Block size: 4096
Inode size: 256
[root@oldboy ~]# dumpe2fs /dev/sda3|egrep -i "block count|Inode count"
dumpe2fs 1.41.12 (17-May-2010)
Inode count: 479552
Block count: 1914624
Reserved block count: 95731
12)查看inode的总量和使用量命令df -i
13)如何生成及指定inode大小 mkfs.ext4 -b 2048 -I 256 /dev/sdb(工作中没必要改)。
#以上的C6和C5分别代表CentOS6和CentOS5
特别提示:目录不能创建硬链接,只有文件才能创建硬链接。
文件类型小结:
1)- regular file 普通文件 *****(5星重点)
普通文件细分又包含:ASCII text纯文本、executable二进制文件、data数据文件。
[root@oldboy ~]# file /etc/hosts
/etc/hosts: ASCII text
[root@oldboy ~]# file /bin/cp
/bin/cp: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
[root@oldboy ~]# file /var/log/wtmp
/var/log/wtmp: data
[root@oldboy ~]# ls -l /var/log/wtmp /etc/hosts /bin/cp
-rwxr-xr-x. 1 root root 122872 10月 15 2014 /bin/cp
-rw-r--r--. 2 root root 180 7月 19 2016 /etc/hosts
-rw-rw-r--. 1 root utmp 6144 4月 19 07:49 /var/log/wtmp
2)d directory 目录 *****(5星重点)
3)l link 符号链接或者软连接文件 ***(3星重点)
相当于windows的快捷方式,它指向文件的实体。
4)字符文件,块设备文件
c character 串口设备、猫
b block 硬盘、光驱 **(2星重点)
5).sock进程之间通信会用到。
s socket
6)管道文件
p named pipe (FIFO)
访问文件原理图:
想要访问/tmp/oldboyfile首先从“/”根目录开始,通过“/”根目录的inode找到对应的block。其中根的block内又存放有子文件和子目录的文件名(包括/tmp)。通过访问/tmp的inode信息,然后在由inode指向对应的block,从而找到oldboyfile文件的名字。找到oldboyfile后,通过它的inode信息判断,如果权限允许则指向对应block。
对于文件:
[root@oldboy test]# umask 032
[root@oldboy test]# umask
0032
[root@oldboy test]# touch 032.log
[root@oldboy test]# ls -l 032.log
-rw-r--r--. 1 root root 0 7月 26 18:14 032.log #为什么权限是644?
[root@oldboy test]# umask 051
[root@oldboy test]# umask
0051
[root@oldboy test]# touch 051.log
[root@oldboy test]# ls -l 051.log
-rw--w-rw-. 1 root root 0 7月 26 18:18 051.log #为什么权限是626?
=========================================
对于目录:
[root@oldboy test]# umask
0051
[root@oldboy test]# mkdir d051
[root@oldboy test]# ls -ld d051/
drwx-w-rw-. 2 root root 4096 7月 26 18:26 d051/
小结:
文件默认权限就是666 - umask得到的值,目录默认权限就是777 - umask得到的值。但是对于文件,umask值的每一位上如果有奇数,相减完后,奇数的那一位还要在加上1。
如下所示:
f 666-umask
6 6 6
0 2 2 -
---------
6 4 4
6 6 6
0 3 2 -
1 +
---------
6 4 4
6 6 6
0 5 1 -
1 1 +
---------
6 2 6
生产案例:
网站站的服务用户为oldboy
防止木马入侵:
文件和目录给什么权限,安全临界点:
d(目录) 755 root root
f(文件) 644 root root
所以umask默认控制的权限是比较安全的值
特别提示:在一般生产环境当中,umask的使用不多见,在此,大家了解一下umask是怎么回事即可。
转载于:https://www.cnblogs.com/sunday294/p/6907955.html
Linux文件和目录的属性及权限相关推荐
- Linux文件和目录的属性及权限总结
转载于:https://www.cnblogs.com/zhongguiyao/p/9169361.html 本文讲述的是文件或目录的属性及权限,比如索引节点inode.文件类型.文件权限及属主:还对 ...
- Linux 文件和目录的属性及权限
一.权限位说明 Linux 文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件属主(Owner)的读.写.执行,用户组(Group)的读.写.执行以及(Other)其它用户的读.写. ...
- Linux 文件和目录的属性
作者:北南南北 来自:LinuxSir.Org 摘要:本文讲述的是文件或目录的属性,比如节点inode.文件类型.文件权限及归属:还对setuid.setgid及粘贴位进行了一般性的讲解.对ln .c ...
- linux系统管理学习笔记之八---linux文件与目录的管理及权限
linux系统管理学习笔记之八---linux文件与目录的管理及权限 2010-01-05 09:00:49 标签:权限 管理 文件目录 linx [推送到技术圈] 版权声明:原创作品,允许转载,转载 ...
- linux修改文件没有备份文件,linux文件或目录权限修改后如何恢复(备份了权限就能恢复)...
操作系统 RHEL5 如果你在linux上执行了如下操作 chmod -R 777 / 或者 chmod -R 700 / 那么恭喜你,你的系统即将崩溃,重启之后,你进不了图形界面,而且很多服务都起不 ...
- linux改完权限后 自动恢复,linux文件或目录权限修改后如何恢复(备份了权限就能恢复)...
操作系统 RHEL5 如果你在linux上执行了如下操作 chmod -R 777 / 或者 chmod -R 700 / 那么恭喜你,你的系统即将崩溃,重启之后,你进不了图形界面,而且很多服务都起不 ...
- Linux文件和目录属性
Linux文件和目录属性 关于文件和目录属性例:drwxr-xr-x 2 root root 4096 11月 22 02:21 111 d是文件类型,具体分为以下几种: -普通文件 d 目录 c ...
- Linux文件与目录的默认权限与隐藏权限(chattr,lsattr)
文章目录 Linux文件与目录的默认权限与隐藏权限 文件默认权限:umask 文件隐藏属性 chattr(配置文件隐藏属性) 使用案例 lsattr(显示文件隐藏属性) 使用案例 文件特殊权限:SUI ...
- linux文件赋予755权限,Linux文件和目录的777、755、644权限解释
Linux文件和目录的权限 1.文件权限 在linux系统中,文件或目录的权限可以分为3种: r:4 读 w:2 写 x:1 执行(运行) -:对应数值0 数字 4 .2 和 1表示读.写.执行权限 ...
最新文章
- 计算机应用能力大纲,计算机应用能力水平考试大纲.doc
- html纵向的跑马灯效果,HTML+CSS入门 如何实现跑马灯/走马灯效果
- leetcode240. 搜索二维矩阵 II
- 云图说|将源端MongoDB业务搬迁至华为云DDS的几种方式
- 博客园的神回复,程序猿的奇葩神回复[连载][二]
- Oracle 数据库的连接
- Java开发,表单提交中发生中文乱码的问题。
- 深入解读Linux进程调度系列(1)——调度的初始化
- 实现子元素在父元素中水平垂直都居中笔记
- cad统计多线段总长度插件_新手入门,学习CAD必须掌握,教你使用标注命令,绘图效率翻一倍...
- Java开发常见专业术语
- Fibonacci 斐波那契数列的R语言实现
- python自学篇——PyGame模块的所有功能函数详解
- 基于Xposed开发微信云客服笔记
- 一篇文让你看懂NB-IoT、LoRa、eMTC、Sigfox及ZigBee的应用场景
- 为什么苹果手机通话的时候不能录音?
- linux下DNS配置及域名解析服务,linux DNS域名解析服务
- 考虑蒙特卡洛考虑风光不确定性的配电网运行风险 评估 由于风电光伏出力的不确定性,造成配电网运行风险,运用蒙特卡洛概率潮流计算分析电压和线路支路越限
- 西南大学实验室考试自测题学习
- Android入门篇(一)了解androidstudio开发软件
热门文章
- gc问题mysql连接池_数据库连接池引起的FullGC问题,看我如何一步步排查、分析、解决...
- ping服务器请求超时_高防服务器能防哪些恶意网络攻击?
- linux diff 补丁,Linux中diff、补丁的用法及介绍
- 计算机动漫与游戏制作画画教学,科普下动漫制作必须会画画吗
- docker 容器 exited_docker常用命令整理
- 计算机继续教育笔记,《继续教育中的学习技术》读书笔记
- 6选择内核启动项_Linux内核都没搞懂,Alot和你还有什么关系?
- 关于 Node 集群
- Node Sass version 6.0.0 is incompatible with ^4.0.0.
- 山师计算机应用技术试题和答案,山师计算机应用技术的试题和答案.doc