Python全系列 教程
3567个小节阅读:5929.1k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
#3、Linux文件属性及权限
##3.1 Linux文件属性与权限概述
首先我们以root用户的身份登陆Linux,执行ll -a查看文件:
ls是list的缩写,能显示文件的文件名和相关属性。而-al表示列出所有的文件详细的权限与属性(包含隐藏文件,诸如文件名以“.”开头的文件)。显示信息详细含义如下:
(1). 第一个字符代表这个文件的具体类型:
任何设备在Linux下都是文件,不仅如此,连数据库的同学接口也有专门的文件负责。
若是[d]则是目录(directory)
若是[-]则是文件
若是[l]则是链接文件(link),类似window系统下的快捷方式。
设备与设备文件[b]、[c]:
与系统外设和存储等相关的一些文件,通常都集中在/dev这个目录中。分为两种*:
A. 块(block)设备文件[b]:就是一些存储数据,以提供系统随机访问的接口设备,例如硬盘、软盘等。你可以随机的在硬盘的不同块读写,这种设备就是成组设备。
xxxxxxxxxx
[root@node1 ~]# ll /dev/sda
brw-rw---- 1 root disk 8, 0 8月 23 09:08 /dev/sda
B. 字符(character)设备文件[c]:是一些串行端口的接口设备,例如键盘,鼠标。这些设备的特征就是“一次性读取”的,不能够截断输出。
xxxxxxxxxx
[root@node1 ~]# ll /dev/vcs
crw-rw---- 1 root tty 7, 0 8月 23 09:08 /dev/vcs
总结:除了设备文件是我们系统很重要的文件,最好不要随意修改之外(通常它也不会让你修改的);另外一个比较有趣的文件就是连接文件,类似window的桌面快捷方式,同样可以将linux下的连接文件简单的视为一个文件或目录的快捷方式。至于socket与FIFO文件比较难以理解,因为他们与进程比较有关系,这个等到将来了解进程(process)之后再*进行理解。
(2). 余下的字符,三个一组,且均为[rwx]的3个参数组合,
其中[r]代表可读(read),[w]代表可写(write),[x]代表可执行(excute)。这三个参数的出现顺序不会改变,若没有某个权限,则会以[-]代替。这三组参数中,第一组是文件所有者的权限;第二组是同用户组的权限;第三组是其他用户的权限。这三组权限均是针对某些账号而言的权限。另外,文件权限和目录权限意义不同,这是因为文件与目录记录的数据内容不相同,后面我们会详细叙述。
第二列表示有多少文件名链接到此节点(i-node)
每个文件都会将他的权限与属性记录到文件系统的i-node中,但是Linux所使用的目录树却是使用文件名来记录,因此每个文件名就会链接到一个i-node。这个属性记录的就是有多少不同的文件名链接到相同的一个i-node号码。
第三列表示这个文件(或目录)的所有者账号
第四列表示这个文件的所属用户组
在Linux系统下,每个账号会附属于一个或多个用户组中。
注意,我们之前提到了前缀为”.”的是隐藏文件。
Linux文件权限最大的用途实在数据安全性上,它能根据不同用户的不同权限实现对不同文件的操作。为此,在我们设置Linux文件与目录的属性之前,需要弄清到底什么数据是可变的,什么数据是不可变的。