Linux教程

Linux档案权限篇之一

本文主要是介绍Linux档案权限篇之一,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

预备知识

本实验要求实验者具备如下的相关知识。

 

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

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

      1、所有者:即档案拥有者,由于Linux是多人多任务的系统,因此可能常常会有很多人同时使用这部主机来进行工作的情况。为了考虑每个人的隐私权以及每个人喜好的工作环境,因此这个“档案拥有者的角色就显得相当的重要了。

      2、用户组:为什么要配置文件档案属于哪个用户组呢?用户组最有用的功能就是团队开发协作了。你和你所在团队的成员在一个用户组里面,你们就能相互修改对方的数据了。

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

      有点抽象哦~,画个图来解释一下:

      拥有者和用户组的关系:假设有一家人,家里有三兄弟,分别是张大明,张小明和张三明。这个家庭是登记在张大明的名下的!而且这三个人都有自己的房间,并且共同拥有客厅。

      使用者的意义:由于三个人各自拥有自己的房间,所以,张小明虽然可以进入张三明的房间,但是小明不能翻三明的抽屉。因为抽屉里面是三明的私人东西,这是私人空间,当然不能让小明拿。

      用户组的概念:由于共同拥有客厅,所有张家三兄弟都可以在客厅打开电视,翻阅报等等。反正,只要是客厅的东西,三兄弟都可以使用。因为是一家人。

      明白了一点么?“张大明家”就是所谓的“用户组”,至于三兄弟就是分别为三个“使用者”,而这三个使用者是在同一个用户组里面。虽然在同一个用户组里面,但是我们可以设定权限,好让某些用户个人的信息不被用户组的拥有者查询,以保护个人的私人空间。

      其他用户的概念:张大明家 旁边搬来一户人家,叫王大龙。他是王大龙家的人,跟张家没有关系。这个时候,除非张家认识王大龙,然后开门让王大龙进张家。否则,王大龙永远没有办法进入张家,更不要说进张小明的房间了!没错了。这个王大龙就是所谓的“其他用户”。

      不过这里还有个特殊的角色要介绍,那就是上帝。也就是 root 这个用户。Linux中身份为root的用户,拥有至高无上的权限,哪都能去!

      

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

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

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

实验步骤一

查看linux文件属性

      用什么查看档案的属性呢?那就是“ls”命令,对于这个命令不知道你是否还有印象?

      用root登陆系统,敲下“ls -al”,看看都有啥?

 

 

 

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

      我们来划分一下上面的信息,让我们看得更明白:

      

      我们把看到的信息划成7列,怎么样,看起来是不是不那么晕了。那这7列分别是代表什么意思呢?我们拿其中一个档案拖出来,说明一下:

      

      第一列就是档案的权限了,我们等下再说,先来说说后面的:

      连接数:每个档案都会将他的权限和属性记录到文件系统的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

 

 

看到了没有,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来试试吧:

 

 改变权限之二,使用符号类型:先来看看吧:

 

 

有发现什么不同吗?你是否看明白了中间那条指令呢?不明白没关系,下面来解释解释

      

      有没有明白一点?没错了,ugo,分别代表user,group和others

      那用法呢?是这样的:

      

      怎么多了一个a?a代表ugo三个哦,all的意思啦!

文件与目录之权限意义

      上面我们说了权限,那么对于文件和目录来说,这些权限对他们都有什么意义呢?

      

      自己多试试这些权限的设置,测试一下都有什么效果。

心得体会

通过这次试验我掌握了linux文件的属性,如何改变文件属性与权限和目录与文件之权限意义。

分析与思考

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

当前用户,组,其他用户,都有r(读),w(写),x(执行)的权限

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

chmod -R 755 /目录名称/*

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

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

 

这篇关于Linux档案权限篇之一的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!