标签:设备文件 针对 sse 地方 鼠标 att 之间 文件中 相关性
接触过Linux系统的人都知道Linux系统都是由文件组成的。那我们就应该意识到关于文件权限的重要性。下面详细介绍一下:博文大纲:
- 用户与用户组;
- Linux文件权限的重要性;
- 文件与目录的默认权限与隐藏权限;
- 文件特殊权限;
我们来通过一张图片,来详细了解一下用户与用户组之间的关系:
通过这张图片就可以详细的了解用户与用户组之间的关系!
我们通过浏览/root目录下的文件来了解一下每个文件各个部分的内容:
这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个字符,每个字符的含义,如图:
第一个字符代表这个文件是『目录、文件或链接文件等等』:
- 若是[ d ]则是目录,例如上表文件名为“.config”的那一行;
- 若是[ - ]则是文件,例如上表文件名为“initial-setup-ks.cfg”那一行;
- 若是[ l ]则表示为链接文件(link file);
- 若是[ b ]则表示为设备文件里面的可供储存的周边设备(可随机存取设备);
- 若是[ c ]则表示为设备文件里面的序列埠设备,例如键盘、鼠标(一次性读取设备);
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。『rwx』也可以用数字4、2、1来表示
每个文件都会将他的权限与属性记录到文件系统的 i-node 中,不过,我们使用的目录树却是使用文件名来记录, 因此每个档名就会连结到一个 i-node 啰!这个属性记录的,就是有多少不同的档名连结到相同的一个 i-node 号码去就是了。
与 Windows 系统不一样的是,在 Linux 系统当中,每一个文件都多加了很多的属性进来,尤其是群组的概念,这样有什么用途呢? 其实,最大的用途是在『数据安全性』上面的。
Linux文件权限的重要性主要包含这几个方面:
因此在设置目录的权限和属性时,一定要注意: 什么数据是可变的,什么是不可变的!
我们现在知道文件权限对于一个系统的安全重要性了,也知道文件的权限对于使用者与群组的相关性,那么如何修改一个文件的属性与权限呢?又!有多少文件的权限我们可以修改呢? 其实一个文件的属性与权限有很多!我们先介绍几个常用于群组、拥有者、各种身份的权限之修改的指令,如下所示:
关于如何修改文件的拥有者、群组、权限这些问题,实在是太简单了,所以这里就不多做介绍了!
现在我们知道了 Linux 系统内文件的三种身份(拥有者、群组与其他人),知道每种身份都有三种权限(rwx), 已知道能够使用 chown, chgrp, chmod 去修改这些权限与属性,当然,利用 ls -l 去观察文件也没问题。
文件是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件等等。因此,权限对于文件来说,它的意义是这样的:
在Windows系统下,文件的扩展名会起到作用,但是,在LInux系统中,文件的扩展名是不起任何作用的!
文件是存放实际数据的所在,那么目录主要是储存啥玩意啊?目录主要的内容在记录文件名列表,文件名与目录有强烈的关连啦!
总之,目录的 w 权限就与该目录底下的文件名异动有关就对了啦!
详细介绍,大家看的有点费劲,故意总结成一个表,供大家参考:
通过表的形式了解一下:
我们都知道新建的文件权限是644;新建的目录的权限是755。那么大家知道这些权限是怎么来的吗?
那是因为文件的默认权限是666;目录的默认权限是777;
[root@localhost ~]# umask
0022
用文件或目录的默认权限减去umask值,便是新建文件或目录的权限,至于如何修改这个umask值,方法如下:
[root@localhost ~]# umask 111
[root@localhost ~]# umask
0111
umask值的第一位是特殊权限,这里先忽略!
可以使用chattr命令进行设置;使用lsattr可以查看文件或目录的隐藏权限;
chattr命令的常用参数有:
- 在原有参数设定基础上,追加参数;
- 在原有参数设定基础上,移除参数;
- = 更新为指定参数设定;
- A 文件或目录的 atime (access time)不可被修改(modified), 可以有效预防例如手提电脑磁盘I/O错误的发生;
- S 硬盘I/O同步选项,功能类似sync;
- a 即append,设定该参数后,只能向文件中添加数据,而不能删除,多用于服务器日志文件安全,只有root才能设定这个属性;
- c 即compresse,设定文件是否经压缩后再存储。读取时需要经过自动解压操作;
- d 即no dump,设定文件不能成为dump程序的备份目标;
- i 设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。i参数对于文件 系统的安全设置有很大帮助;
- j 即journal,设定此参数使得当通过mount参数:data=ordered 或者 data=writeback 挂 载的文件系统,文件在写入时会先被记录(在journal中)。如果filesystem被设定参数为 data=journal,则该参数自动失效;
- s 保密性地删除文件或目录,即硬盘空间被全部收回;
- u 与s相反,当设定为u时,数据内容其实还存在磁盘中,可以用于undeletion;
lsattr命令的常用参数有:
文件 的特殊权限分为:SUID、SGID、SBIT。
SUID的权限对一个文件的特殊权限:
- SUID权限仅对二进制程序有效;
- 执行这对于该程序需要具有x的可执行权限;
- 本权限仅在执行程序的过程中有效;
- 执行者经具有该程序拥有者的权限;
注意:SUID仅针对文件,不可以针对目录!
SGID的功能:
- SGID对二进制程序有用;
- 程序执行者对于该程序来说,需具有x的权限;
- 执行者在执行的过程中将会获得该程序群组的权限;
注意:SGID可以针对文件,也可针对目录!
SBIT对于目录的作用:
- 当使用者对于此目录具有w、x权限,具有写入的权限;
- 当使用者在该目录下创建文件或目录是,仅是自己与root才有权利删除该文件;
注意:SBIT仅针对目录有效!
关于文件或目录的权限就简单介绍这么多!
———————— 本文至此结束,感谢阅读 ————————
标签:设备文件 针对 sse 地方 鼠标 att 之间 文件中 相关性
原文地址:https://blog.51cto.com/14157628/2441301