一、用户与用户组
- Linux一般讲文件可存取访问的身份分为3个类别,文件的所有者(owner),所在组(group)和其他组(other)。
- Linux用户身份与用户组记录的文件
1、etc/passwd:一般用户以及root的信息
2、etc/shadow:个人密码;
3、etc/group:所有组名;
二、Linux文件权限概念
2.1、Linux文件属性
- ls -al:详细显示该文件的详细信息(list),例如文件名啊、属性啊、文件权限啊 等,包括隐藏文件的相关信息;
- 共有七列信息:
1、第一列:代表文件的类型与权限
①、第一个字符表示文件的类型
d:目录
-:文件
l:连接文件
b:设备文件里面的可供存储的设备接口
c:设备文件里面的串行端口设备:例如键盘、鼠标等一次性读取设备。
②、三个为一组,可读、可写、可执行以及没权限
1)第一组:文件所有者的权限;
2)第二组:文件所在组的权限;
3)第三组:其它组的权限
2、第二列:表示有多少文件名连接到此节点(i-node)
①、每个文件都会将它的权限与属性记录到文件系统的i-node中,每一个文件名对应一个i-node;
3、第三列:文件的所有者;
4、第四列:文件的所在组
5、第五列:文件大小;
6、第六列:文件创建日期或最近修改日期
7、第七列:文件名
- Linux文件权限的重要性
数据安全性
2.2、文件属性与权限的改变
- 改变文件的所在组:chgrp
1、chgrp group file:将file的所在组改变成group,group要存在;
2、-r:recursive,进行递归的持续更改,即连同子目录下所有的文件、目录都更改成为这个所在组的; - 改变文件的所有者:chown
1、chown owner file:将文件file的所有者改成owner,且owner要存在;
2、-r
3、chown还可以改变所在组,格式为chown owner:group file,也可以单纯地用来修改所在组,格式为 chown .group file。 - 什么时候使用chown和chgrp:复制文件后给不同用户使用时
1、cp 源文件 目标文件
2、复制时文件的属性与权限都没有变化 - 改变权限:chmod
有两种文件权限改变的方法
1、方法一:数字类型改变权限
①、数字与权限的对应关系:r-4、w-2、x-1、–0
例如:rwxr-xr–=754,chmod 754 file
2、方法二:符号类型修改文件权限
①、文件身份的对应关系:u-user、g-group、o-owner、a-all
②、例如:chmod u=rwx,go=rx file
③、符号的对应关系:+-添加、–去除、=-设置
④、例如:添加都可以写入的权限:chmod a+w file
2.3、目录与文件权限的意义
Linux系统内文件的三种身份(所有者、所在组、其它组)、三种权限(r、w、x)以及修改权限的三种方法(chown、chgrp、chmod)
- 文件权限
1、w:修改文件的内容,但不包括删除文件 - 目录权限
1、 r:读取目录结构雷彪,例如可以使用ls命令;
2、w:更改目录结构列表的权限,例如新建、删除、复制等;
3、x:能否进入该目录,例如使用cd命令;r不代表可以cd进入该目录,例如权限r–,表示该用户不能cd进入该目录,虽然有r,但是还是不能读取该文件,也就是说,如果给某人开发r权限的时候,别忘了也y要开放x权限; - 涉及的命令:
1、mkdir 目录,新建目录
2、touch 文件,新建空的文件
3、su 用户:切换身份
6.4、Linux文件种类与扩展名
- 文件种类
1、普通文件:-
①、纯文本文件(ASCII),使用cat命令查看;
②、二进制文件(binary):例如一些命令,
③、数据格式文件(data):使用last命令读取,cat不行,因为它属于特殊格式的文件
2、目录:d
3、连接文件:l,有点像Win的快捷方式
4、设备与设备文件
①、与系统外设以及存储等都集中在/dev目录中,通常又分为两种:
1)块设备文件:b;就是一些存储设备,以提供随机访问的接口设备,例如硬盘、软盘
2)字符设备文件:c;一次性独缺设备,串行端口设备(就是你不能让鼠标一下子就就到别的地方)
5、套接字:s,socket
6、管道,FIFO、pipe - 扩展名
1、与Win不一样,Linux下的文件能否被执行与文件权限属性有关,与文件扩展名没什么关系。
2、但是,Linux下假如有个.log的纯文本文件的权限为x,只是代表这个文件具有可执行的能力,而到时能否执行,还得看文件的数据内容。
3、Linux中的常用扩展名:
①、脚本或者批处理文件,使用shell写成的,.sh
②、Z,.tar,.tar.gz、.zip,.tgz:压缩文件
③、html、php网页相关文件 - Linux文件长度限制
1、Linux默认使用Ext2/3的文件系统,针对文件名长度的限制为:单一的文件或者目录不超过255个字符 ,完整路径则不超过4096;
三、Linux目录配置
3.1、Linux目录配置标准:FHS
- FHS,filesystem Hierarchy standard:规范每个目录下应放置什么样得数据;
- FHS标准下Linux文件或者目录的四种类型
1、可分享的:可分享给其它系统挂载(访问)使用的目录,例如能够分享到网上的数据文件
2、不可分享的:仅与自身主机相关的文件,例如socket文件;
3、不变的:不经常变动的目录,例如数据库文件、主机配置文件等;
4、可变动的:经常改变的文件,例如登录文件啊。 - 三个比较重要的目录
1、/:根目录,与开机系统有关的目录,(从账号的角度来看root是管理员身份,从目录的角度来看他是根目录)
2、usr:(Unix software resource):与软件安装与执行有关(不是user);
3、var(variable):与系统运作有关; - 根目录介绍
1、其它目录是从root目录衍生出来 + 与开机、还原、系统修复有关;
2、一般根目录分区不应该大,放的东西少来较少错误发生的概率;
3、根目录下包含的目录
1) bin:常用命令;
2) boot:与开机相关的文件(Linux内核vmlinuz + 开机的配置文件 +v引导文件grub);
3)dev:设备与接口设备文件;
4) etc:Linux的主要配置文件都在这(账号密码文件 + 主要的起始服务文件,且一般来说一般用户可以查阅,root用户才可修改)
5)home:系统默认用户的主文件夹,有两个比较重要的代号:~代表当前用户的主文件夹;~dmtsai:dmtsai的主文件夹
6)lib:放置开机时会用到的函数库,以及/bin和sbin运行时会调用的函数库;
7)media:可删除的设备,软件、光盘、DVD的挂载目录;
8)mmt:用于暂时挂载的目录
9)opt:给第三方软件放置的目录(例如自己安装的目录)
10)root:系统管理员的主文件夹
11)sbin:开机过程所需,包含了开机、修复、还原系统所需的人命令;
12)srv:service的缩写,与网络服务启动的目录;
13)tmp:暂时存放目录的地方
14)lost + found:系统发生错误时,存放一些丢失的数据信息;
15)proc:这个是虚拟的文件,虚拟指的是这个文件存放的数据都是内存数据,本身不占用磁盘空间
16)sys:与proc目录类似
4、根目录与开机有关,开机时只有根目录会被挂载,其它分区是在开机后进行挂载的,也就是说,根目录下与开机过程相关的目录不能够与根目录放到不同的分区,具体有一下五个目录:
1)etc:配置文件
2)bin:可执行文件
3)dev:所需的设备文件
4)lib:执行文件所需的函数库,与内核所需的模块
5)sbin:重要的系统可执行文件; - /usr目录的内容及意义
1、是UNIX Software Resource的缩写,Unix操作系统软件资源;
2、默认的软件都会放到这个目录下 - var:常态性变动的文件,缓存文件、登录文件
3.2、目录树
- Linux目录树的特性:
1、目录树的起始点为根目录;
2、不知可以挂载本地目录,也可以挂载网络上的目录;
3、完整的文件名独一无二; - SELinux:具体的权限管理目录,主要针对程序(尤其是网络程序)访问权限来限制;
3.3、绝对路径与相对路径
- 绝对路径:从根目录开始的路径/,否则,其它写法均为相对路径
- 相对路径:相对于当前路径的写法
1、当前目录:./或者.
2、上一层目录:..或者../
3.4、CentOS基本信息的查看
3. uname -r:查看实际的内核版本信息
4. lsb_release -a:查看distribution信息