linux的文件属性与文件权限

こ雲淡風輕ζ 提交于 2020-01-14 03:49:58

linux文件属性

396746    -        rw-r--r--  .       1              root root 29 Dec 31 16:35 oldboy.txt
inodek号  文件类型  文件权限   selinux  文件的硬链接数  所有者 组  大小  时间       文件名称

inode:用来存放内存属性的空间(除文件名外)

特点:
  • inode存放文件属性
  • 存放block的位置(block的指针)
  • 创建一个文件要占一个inode
  • inode节点号相同的文件,互为硬链接文件
  • inode号在一个分区内是唯一的
  • inode的默认大小为256k

    ls -i:查看inode
    df -i:查看剩余多少inode号

block:实际存放数据的位置

特点:
  • block实际存放数据的位置
  • block的默认大小为4K(在centos6.x)
  • 创建大文件用占用多个block,如果文件小于1k,剩余空间会被浪费
  • 创建一个非空文件要占用一个inode和至少一个block
  • 每读取一个block就会消耗一个I/0(磁盘读写)

    df -h:磁盘block用情况

文件类型

文件类型主要有三类:目录/普通文件/软链接
1.目录:d(directory)
2.软链接:l(softlink)
3.普通文件:(file)
其中普通文件分为三种:
    3.1:文本文件(txt)
    3.2:数据文件(data)
    3.3:二进制文件(executable)

扩展文件类型

  • h:脚本文件
  • conf:配置文件

用户与用户组

用户分三种

1.root用户:超级管理员,root用户的UID为0
2.虚拟用户:无法使用的用户,只能用来执行程序,UID为1-499 
3.普通用户:正常的用户,UID为500+

查看用户UID与GID(组id)

id 用户名

与用户相关的文件

/etc/passwd:存放用户的信息
/etc/shadow:存放用户的密码
/etc/group:存放用户的组信息
/etc/passwd文件详解
root: x:  0: 0:  root: /root:  /bin/bash  /sbin/nologin
root:表示用户名
x:表示密码存放的位置
0:表示用户的UID
0:表示用户的GID
root:表示用户说明信息
/root:表示用户的家目录
/bin/bash:表示centos的默认命令解释器
/sbin/nologin:表示虚拟用户,用户无法登陆系统

文件权限基础介绍

r:read可以读取文件的内容,数字代表4
w:write可以修改文件内容,数字代表2
x:execute可以执行文件(命令,脚本),数字代表1
-:没有任何的权限,数字代表0


[root@web02 tmp]# ls -l /etc/passwd
-         rw-   r--    r--. 1 root root 1097 Jan  1 03:05 /etc/passwd
文件类型  用户  用户组   陌生人

软硬链接

软链接

创建软链接
ln -s 源文件名 快捷方式名

特点
软链接可以对目录或文件进行链接
软链接删除后对源文件无影响
软链接可以跨文件系统进行链接
可对不存在的文件进行软链接,当链接的文件存在时,可直接访问

硬链接

创建硬链接
ln 源文件  硬链接名字

特点
文件相同的inode号,则为硬链接
只能对存在的文件进行硬链接
不能对目录进行硬链接,只能对文件进行硬链接
不能跨文件系统链接
删除一个硬链接对相同inode号的文件无影响

软硬链接的区别

硬链接不能跨分区建立,软链接可以
硬链接不能对目录建立,软链接可以
硬链接inode相同则为硬链接,软链接则相当于一个快捷方式
硬链接创建不带参数为硬链接,带-s参数为软链接
删除硬链接与相同的inode号文件,则真正删除,删除软件源文件,则软件失效(红底白字闪烁)

文件删除原理

彻度删除文件需要满足以下两个条件:

  • 1.删除文件所有的硬链接
  • 2.文件的进程调用数为0
案例:文件没有被彻底删除,但是容量满了

模拟命令:

seq 900000000 > /var/log/secure

查看磁盘容量:

找到占用容量最大的目录然后删除文件

再查看磁盘容量,会发现容量还是满的

查找文件没有被彻底删除,或找出文件硬链接为0,进程不为0(deleted:表示硬链接为0,进程数不为0)

    rsyslogd   1282 root    2w REG   8,2  6021058560 270652 /var/log/secure (deleted)
    软件名                                文件大小         文件名称

重启软件即把磁盘容量进行释放

linux文件属性之三种时间

mtime:modified time 文件的修改时间,文件内容的变化时间
ctime:change time 文件属性的改变时间(硬链接数,文件大小,文件权限)
atime:access time 文件的访问时间
查询文件时间
 stat 文件的名称


修改后的时间

文件属性改变后

访问后时间

文件权限

文件权限与目录权限的区别

文件 目录
r 读取文件内容 读取目录的内容(需要x权限配合)
w 修改文件内容(需要r权限配合) 在目录下创建、删除文件(需要X权限配合)
x 执行命令或者脚本(需要r权限配合) 进入到目录(cd)

linux系统默认权限之umask

usmask的默认数字是:022
usmask的计算方式:
1.文件最大权限值,666减去umask值,如果umask某一位上面是奇数,减完umask之后奇数位上需要+1
2.目录最大权限,777值减去usmask值
查看umask

修改umask

修改后的umask创建文件和目录的权限
[root@web02 ~]# umask 014
[root@web02 ~]# umask
0014
[root@web02 ~]# touch file032
[root@web02 ~]# mkdir dir032
[root@web02 ~]# ls -dl *032
 # 目录777-014=763
d rwx rw- -wx 2 root root 4096 Jan 13 00:37 dir032
  7    6    3
 # 文件666-014=652+010=662 注:因umask有一位是奇数位,先减umask再+1
- rw- rw- -w- 1 root root    0 Jan 13 00:37 file032 
  6   6    2 

文件系统的属性

lsattr:查看文件系统的隐藏属性
[root@web02 ~]# lsattr file032 
-------------e- file032
chattr:修改文件系统的隐藏属性
[root@web02 ~]# chattr +a file032 
[root@web02 ~]# lsattr file032 
-----a-------e- file032
参数:
+a:表示文件只能进行追加,不能删除,不能修改
+i:表示文件不能追加,不能删除,不能修改,只能查看
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!