预备知识:
在linux中,任何一个档案都具有、所有者、用户组、其他用户这三种身份的个别权限。
1、所有者:即档案拥有者,由于Linux是多人多任务的系统,因此可能常常会有很多人同时使用这部主机来进行工作的情况。为了考虑每个人的隐私权以及每个人喜好的工作环境,因此这个“档案拥有者的角色就显得相当的重要了。
2、用户组:为什么要配置文件档案属于哪个用户组呢?用户组最有用的功能就是团队开发协作了。你和你所在团队的成员在一个用户组里面,你们就能相互修改对方的数据了。
3、其他用户:非本用户组外的其他人
Linux用户和用户组记录文件:
在我们linux系统中,默认情况下,所有系统上的账号的相关信息都会记录在/etc/passwd这个文件内。个人密码则会记录在/etc/shadow这文件下。此外,linux所有的组名都会记录在/etc/group内。
实验目的
1)掌握linux文件的属性
2)掌握如何改变文件属性与权限
3)明白目录与文件之权限意义
实验步骤一:
查看linux文件属性
用root登陆系统,敲下“ls -al”(作用:列出所有的档案的详细权限与属性(包括隐藏文件))
上图的信息:共有七列。
第一列是档案的权限
第二列是连接数:每个档案都会将他的权限和属性记录到文件系统的inode中,每个档案名都会连接到一个inode。这个连接数就是记录有多少不同的档案名连接到相同的一个inode号码去了。
第三列是拥有者就是这个档案所属的拥有者账号了。
第四列是用户组:表示这个档案所属的群组
第五列就是这个档案占用的容量大小了,默认单位是bytes
第六列就是修改日期就是这个档案最近被修改的日期
第七列就是档案名,注意的是,以点 . 开头的是隐藏文件哦!
第一列的权限:划分成10列
第一个字符代表档案的类型:
d:代表是目录
-:代表是文件
l:代表是连接文件(相当于windows里面的快捷方式)
b:代表块设备(如硬盘)
c:代表字符设备(如键盘,鼠标等)
接下来的字符中,以三个为一组,均为”rwx“的三个参数的组合。分别是r:可读;w:可写;x:可执行。注意,这三个权限的位置不会改变,如果没有权限,就是:”-“。(-rw-------只有所有者才有读和写的权限,-rw-r--r--只有所有者才有读和写的权限,组群和其他人只有读的权限,-rwx------只有所有者才有读,写,执行的权限)
第一组为拥有者的权限,第二组为同群组的权限,第三组为其他非本群组的权限。
实验步骤二:
改变档案属性与权限
如何来改变档案的属性与权限呢?
改变档案拥有者--chown命令
用法:chown –R [账号名称] [文件或目录]
参数:-R :递归,用于改变目录。连同该目录下所有的档案都改变
举例:改变/tmp/heetian 的拥有者为heetian这个用户
改变文件所有者:chown heetian ./heetian
改变所属用户组--chgrp命令
用法:chgrp -R [账号名称] [文件或目录]
参数:-R :递归,用于改变目录。连同该目录下所有的档案都改变
举例:把刚刚的heetian这个文件所属用户组改成heetian。
实验步骤三
改变文件权限-- chmod 命令
用法:chmod xyz -R [文件或目录]
解释:xyz是三个数字,比如chmod 755 ./heetian
-R :递归,和chown,chgrp里面的-R是一样
为了设置方便,linux里面可以用数字来代表权限:
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为[-rwxrwxr--]分数则是:
owner(所有者):rwx=4+2+1=7
group(用户组):rwx=4+2+1=7
others(其他用户):r--=4+0+0=4
那么该档案的权限数字就是774。
下面将使用chmod改变权限,将其变成774的权限。
还可以使用符号类型改变权限:
u g o分别代表 user,group和others,a代表ugo三个。用法:
文件与目录之权限意义
自己思考一下,为什么/tmp/heetian/test.txt文件的权限是“000”的时候,heetian用户还是能够把它删除呢?
答:因为在这个目录下,heetian用户可以删除已经存在的目录和文件,无论该文件的权限为何。
看上图,结合前一个图片,自己思考一下,为什么/tmp/heetian/test.txt文件所有者和用户组都是root,对于heetian来说只有可读权限,为啥heetian也能把它删除了?
答:只读的作用只是防止文件被修改,但还是可以删除。
分析与思考
1、当一个一般文件的权限为-rwxrwxrwx则表示这文件的意义为?
答:所有者 用户组 其他用户都对该文件可读 可写 可执行。
2、将一个目录及其下面所有的档案的权限改为drwxr-xr-x,该如何下指令?
答:chmod 755 -R /目录名称/*
3、请查看man chown,说明chown root:root /tmp/heetian.txt 的意思?
答:将heetian.txt拥有者和用户组全修改为root,root对heetian只可读。