Linux档案权限篇之一

在linux中,任何一个档案都具有、所有者、用户组、其他用户这三种身份的个别权限。

      下面就分别来说说它们之间有何不同和有何联系。

      1、所有者:即档案拥有者,由于Linux是多人多任务的系统,因此可能常常会有很多人同时使用这部主机来进行工作的情况。为了考虑每个人的隐私权以及每个人喜好的工作环境,因此这个“档案拥有者的角色就显得相当的重要了。uid表示不同用户,root用户的UID是0,1~499是系统的标准账户,普通用户从500开始,用户口令存于/etc/passwd可以用cat /etx/passwd进行查看

      2、用户组:为什么要配置文件档案属于哪个用户组呢?用户组最有用的功能就是团队开发协作了。你和你所在团队的成员在一个用户组里面,你们就能相互修改对方的数据了。权限相同的用户集合,系统通过gid来识别不同的组,用户组口令存于/etc/group可以用cat /etx/group进行查看,查看当前用户所在的组所用命令为id -a

 

 

 

      3、其他用户:非本用户组外的其他人

每一个用户都有它自身的读,写和执行权限。第一套权限控制访问自己的文件权限,即所有者权限。第二套权限控制用户组访问其中一个用户的文件的权限。第三套 权限控制其他用户访问一个文件的权限。所有者,用户组和其他用户的读,写及执行权限构成了一个有9种类型的权限组。

Linux中身份为root的用户,拥有至高无上的权限,哪都能去!

      Linux用户和用户组记录文件:

 

      在我们linux系统中,默认情况下,所有系统上的账号的相关信息都会记录在/etc/passwd这个文件内。个人密码则会记录在/etc/shadow这文件下。此外,linux所有的组名都会记录在/etc/group内。

查看linux文件属性

使用命令ls -al列出所有的档案的详细权限与属性(包括隐藏文件)

将所看到的信息划分为7列

 

 

     

      第一列就是档案的权限,将它划分为10列:

第一个字符代表档案的类型:

      d:代表是目录

      -:代表是文件

      l:代表是连接文件(相当于windows里面的快捷方式)

      b:代表块设备(如硬盘)

      c:代表字符设备(如键盘,鼠标等)

      接下来的字符中,以三个为一组,均为”rwx“的三个参数的组合。分别是r:可读;w:可写;x:可执行。注意,这三个权限的位置不会改变,如果没有权限,就是:”-“。(-rw-------只有所有者才有读和写的权限,-rw-r--r--只有所有者才有读和写的权限,组群和其他人只有读的权限,-rwx------只有所有者才有读,写,执行的权限)

      第一组为拥有者的权限,第二组为同群组的权限,第三组为其他非本群组的权限

      连接数:每个档案都会将他的权限和属性记录到文件系统的inode中,每个档案名都会连接到一个inode。这个连接数就是记录有多少不同的档案名连接到相同的一个inode号码去了。

      拥有者就是这个档案所属的拥有者账号了。

      用户组:表示这个档案所属的群组

      第五列就是这个档案占用的容量大小了,默认单位是bytes

      修改日期就是这个档案最近被修改的日期

      档案名就是名字啦!!注意的是,以点 . 开头的是隐藏文件

 

rwx权限具体解释:

rwx作用到文件:

r代表可读read,可以读取查看改文件

w代表可写write,可以修改,但是不代表可以删除该文件,而删除一个文件的前提条件为对该文件所在的目录有写的权限,才能删除该文件

x代表可执行execute,可以被执行

rwx作用到目录:

r代表可读read,可以读取,ls可以查看目录内容

w代表可写write,可以修改,目录内创建+删除+重命名目录

x代表可执行execute,可以进入该目录

删除权限:

通常来说,删除文件需要你拥有该文件所属文件夹的所有权限,等价于读r写w执行x。
 过程:
首先是进入这个文件夹需要x权限,然后读取文件夹内容需要r权限,最后是删除文件,由于文件属于上级文件夹的一部分,所以需要对文件夹有w权限。这里有人可能会问:我不进入文件夹,直接采用 rm /xxx/sss 的方式,这种方式是不是就只需要rw权限? 答案是是不行的。因为删除过程还是会进入文件夹只是在系统内部执行的,而自己默认是看不见的。
提醒:上级文件夹的权限配置完成后,删除文件时我们甚至不需要对文件有任何权限就可以删除,但是如果要编辑和读取文件内容,还是需要对文件拥有rw权限。

 

改变档案属性与权限

改变档案拥有者之chown命令(change owner)

      用法:chown –R [账号名称] [文件或目录]

 

      参数:-R :递归,用于改变目录。连同该目录下所有的档案都改变

例如:改变/tmp/heetian 的拥有者为heetian这个用户,操作如下

 

 

 注意:useradd heetian命令为创建一个新的用户

改变所属用户组之chgrp命令(change group)

用法:chgrp -R [账号名称] [文件或目录]

      参数:-R :递归,用于改变目录。连同该目录下所有的档案都改变

 

 

 改变文件权限之 chmod 命令(change mode)

 

   用法: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 744 heetian ./heetian之后成功的将原来的权限数字644改为了744

改变权限之二,使用符号类型

 

     

 

    上图中的ugo,分别代表user,group和others

 

      用法如下:

 

     

 

    注意:a代表all即为ugo所有

例如执行命令chmod u-x,g+w,orwx heetian ./heetian便可使权限发生以下改变

 

 

 文件与目录之权限意义

 

     

 上级文件夹的权限配置完毕后删除文件时我们甚至不需要对文件有任何权限就可以删除,但是如果你要编辑和读取文件内容还是需要对文件拥有rw权限

  

为什么/tmp/heetian/test.txt文件的权限是“000”的时候,heetian用户还是能够把它删除呢?

 因为这个文件所在的目录,其他人也有可写的权限。文件能否删除,取决于目录的权限

 

为什么/tmp/heetian/test.txt文件所有者和用户组都是root,对于heetian来说只有可读权限,为啥heetian也能把它删除了?

如果目录/heetian对于heetian来说如果有写的权限,那么该文件就可以被删除

 分析与思考

 

1、当一个一般文件的权限为-rwxrwxrwx则表示这文件的意义为?

该文件的创建者、创建者所在组、所有人,都有对该文件读、写和执行的权限

2、将一个目录及其下面所有的档案的权限改为drwxr-xr-x,该如何下指令?

chmod -R 755 /目录名称/*

 

3、请查看man chown,说明chown root:root /tmp/heetian.txt 的意思?

更改 /tmp/heetian.txt 的用户组和用户名所有者 都为 root

 

 

 

 

 

 

 

posted @ 2021-09-06 09:46  零陵上将刑道荣  阅读(174)  评论(0)    收藏  举报