1、使用者与群组
1.1、档案拥有者
1.2、群组概念
1.3、Linux系统中,默认情况下,所有的系统上的账号与一般身份使用者,还有那个root的相关信息,都是记录在/etc/passwd这个档案内的,个人密码则是记录在/etc/shadow这个档案下,所有的组名都是肌瘤在/etc/group内,这三个档案可以说是Linux系统里账号、密码、群组信息的集中地;
2、Linux档案权限概念
2.1、Linux文件属性
1)ls查看档案指令 ls -al,chgrp chown等指令都需要使用root的身份才能够处理;
2)drwxr--r-- 3 zhanghaha wheel 102 11 19 16:36 testing
- drwxr--r--:第一栏代表这个档案的类型与权限;
当为d则是目录,-是档案,l表示为连接档,b表示装置文件里面的可供储存的接口设备,c表示为装置文件里面的串行端口设备,例如键盘、鼠标;
接下来的字符中,三个为一组,且均为rwx的三个参数的组合,其中,r代表可读,w代表可写,x代表可执行,这三个权限的位置不会改变,如果没有权限,就会出现减号“-”,第一个为档案拥有者的权限,第二组为同群组的权限,第三组为其他非本群组的权限;- 第二栏表示有多少档名连接到此节点;
- 第三栏表示这个档案的拥有者账号;
- 第四栏表示这个档案的所属群组;
- 第五栏为这个档案的容量大小,默认为bytes;
- 第六栏为这个档案的建档日期或者最近的修改日期;
- 第七栏为这个档案的档名;如果档名钱多一个“.”,代表这个档案为隐藏档
2.2、如何改变文件属性与权限:chgrp,chown,chmod
- 改变所属群组:chgrp
chgrp users install.log
注意:要改变的组名必须要在/etc/group档案内存才行,否则会显示错误;- 改变档案拥有者:chown
chown bin install.log
如果要连目录下的所有词目录或者档案同时更改档案拥有者的话,直接加上-R的选项即可;
注意:用户必须是已经存在系统中的账号,也就是在/etc/passwd这个档案中有记录的用户名称才能改变;- 改变权限:chmod,权限的设定方法有两种,分别可以用数字或者符号来进行权限的变更;
1)数字类型改变档案权限:
Linux的基本权限就有9个,分别是owner/group/others,三种身份各有自己的read/write/execute权限,这9个权限是三个三个一组的;其中我们可以用数字来代表各个权限,r:4,w:2,x:1,每种身份各自的三个权限分数是需要累加的;
如:chmod 777 install.log,chmod a-x .bashrc
2)符号类型改变档案权限
由u、g、o代表三种身份,a则代表all即全部的身份
chmod (u/g/o/a)(+、-、=) r/w/x 档案或者目录
如chmod u=rwx,go=rx .bashrc
2.3、目录与档案之权限意义
- 权限对档案的重要性:
r:可读取此档案的实际内容,如读取文本文件的文字内容等;
w:可以编辑、新增或者是修改该档案的内容(但不含删除该档案)
x:该档案具有可以被系统执行的权限;- 权限对目录的重要性
r:具有读取目录结构列表的权限
w:建立新的档案与目录,删除已经存在的档案与目录,将已经存在的档案或目录进行更名,搬移该目录内的档案、目录位置;
x:目录的x代表的是用户能够进入该目录称为工作目录的用途;
2.4、Linux档案种类与扩展名
- 档案种类
1)正规档案
纯文本档:Linux系统最多的一种文件类型,称为纯文本是因为内容为我们人类可以直接读取的数据,例如数字、字母等;cat ~/.bashrc
二进制文件binary
数据格式文件data
2)目录,第一个属性为d
3)连接档link;
4)设备与装置文件device
5)资料接口文件sockets
6)数据传送文件pipe- Linux档案扩展名
基本上Linux的档案是没有所谓的扩展名的,一个Linux档案能不能执行,与他的第十个属性有关,与文件名无关,但x代表这个档案具有可执行的能力,能不能执行陈宫,当然还得要看该档案的内容;
1).sh:脚本或批处理文件
2)Z,.tar,tar.gz,.zip,.tgz:经过打包的压缩文件;
3).html,.php:网页相关档案;
3、Linux目录配置
3.1、Linux目录配置的依据--FHS:/,/usr,/var
- FHS是根据过去的经验一直再持续的改版的,FHS依据文件系统使用的频繁与否与是否允许使用者随意变动,将目录定义为4中交互作用的形态
可分享的:可以分享给其他系统挂载使用的目录,所以包括执行文件与用用户的邮件等数据;
不可分享的:自己机器上面运作的装置档案或者是与程序有关的socket档案等
不可变的:有些数据不会经常变动,例如函式库、文件说明文件,系统管理员所管理的主机服务配置文件等;- 事实上,FHS针对目录树架构仅定义出三层目录底下应该防止什么数据而已,分别是底下的这三个目录:
1)/:根目录,与开机系统有关;
根目录所在分割槽应该越小越好,且应用程序所安装的目录最好不要与根目录放在同一个分割槽内,保持根目录越小越好;
开机过程仅有根目录会被挂载,其他分割槽则是在开机完成之后才会持续的进行挂载的行为;因此,这些目录不可与分目录分开:
/etc:配置文件
/bin:重要执行档
/dev:所需要的装置档案
/lib:执行档所需要的函式库与核心所需的模块;
/sbin:重要的系统执行文件
2)/usr(unix software resource),与软件的安装、执行有关;
usr是Unix操作系统软件资源所放置的目录,而不是永辉的数据;
3)/var,与系统运作有关;
可变动的:经常改变的数据
如果usr是安装时会占用较大硬盘容量的目录,那么var就是系统运作后才会渐渐占用硬盘容量的目录;因为var目录主要针对常态性变动的档案,包括快取,登录档以及某些软件运作所产生的档案;
3.2、目录树
- 目录树的起始点为根目录
- 每一个目录不止能使用本地端的partition的文件系统,也可以使用网络上的filesystem
- 每一个档案在此目录树种的文件名都是独一无二的;
3.3、绝对路径与相对路径
绝对路径:由根目录开始写起的文件名或目录名称,如/home/dmtsai/.bashrc;
相对路径:相对于目前路径的文件名写法,如./home/dmtsai或../../home/dmtsai/等
".":代表当前的目录,也可以使用./表示;
“..”:代表上一层目录,也可以用../来代表;
“./”代表本目录的意思,所以./run.sh代表执行本目录下,名为run.sh的档案;
网友评论