linux系统之文件的属性及权限的变更

linux最优秀的地方就在于他的多用户多任务环境。大家可以想想多个用户具有不同的保密数据,因此这些文件的管理权限就尤为重要了。linux一般将文件的存取身份分为三个类别,分别是:owner(文件属主),group(所属群组),others(其他人),并且三种身份都有read(读),write(写),execute(执行)权限。

使用者的身份

1。owner:文件属主,也就是我们说的文件拥有者

顾名思义也就是说创建这个文件的人就是文件拥有者。我们知道linux是一个多用户多任务系统,多用户就代表会有很多人在这台主机上工作,为了保证每个人的隐私所以创建了这种角色。比如说:你写了一封情书放在自己的文件夹,你总不希望你的情书变成公开的新闻让每个人都过目一遍吧,这时你只需要把文件设置成"文件拥有者",也就是是只有"我"才能查看并且修改这个文件的内容。所以即使别人知道你的文件夹里有情书,但是没有权限也无法打开。

2。group:所属的群组

说起群组我们就知道这是讨论多个人的权限,主要用于团队开发过程,就比如说有两队人员参加一个比赛分别是A队和B队, A队有三个成员分别是小红,小明,小黑,B队有三个成员分别是大红,大明,大黑。 因为这两队之间是竞争关系,所以肯定不能互相看对方的文件。但是队员之间要合作必须可以互相查看那些文件,这时候我们就需要这个群组权限来进行限制,这样一来团队成员可以阅读并且修改,而非团队成员则无法查看,同时你还可以设置上方讲过的owner,这样你也有自己的隐私文件。 同组也无法查看,是不是很方便

3。others:其他人

顾名思义,就是外人。就那上边那个例子说就是一个不参加比赛的路人甲。既不是你自己,也不是你小组人员,这个比较好理解不做过多解释了。

 

文件的类别以及权限,

(1)linux文件属性

既然要给大家介绍文件属性,首先大家就要会查看文件,我们这里使用ls -al查看

这里给大家举例分析理解一下红色横线这两个文件的属性吧

第一栏字符串都是有十个字符组成,第一个字符有的是d有的则是-,

所以这第一个字符就说明文件类型是什么?

字符-则说明是文件,

字符d则说明是目录。

字符l说明是链接文件

字符b说明是可存储设备

字符c设备文件中的序列设备(例如键盘鼠标)

然后就是剩下的九个字母,我们知道使用者身份是三个, 而权限也是三个可读,可写,可执行,三三得9,所以这就9个字符每三个为一组,每个组就代表一个身份,组内的字符就代表对应权限,r代表可读,w代表可写,x代表可执行,如果没有权限则为"-"。

第一个画线部分的第一栏为rw-r--r--(除去首个字符后), 每三个分成一组,第一组rw-, 首先这一组代表自己的权限,r代表可读,w代表可写,-代表没有执行权限(如果是x则代表可以执行);以此类推第二组为r--代表的是群组人员的权限,就代表群组人员只能读,不可写也就是不能修改,不可执行。同样第三组代表的其他人,和同组成员权限一样, 可读不可写不可执行。

第二个画线部分的第一栏为r-xr-xr-x(除去首个字符后)。 每三个分成一组,第一组为自己的权限r-x,可读不可写可执行, 第二组所属群组权限r-x,可读不可写可执行,第三组其他人权限r-x,可读不可写可执行。

第二栏中表示的是当前的连接数

第三栏为文件拥有者账号

第四栏为文件所属群组

第五栏位文件的容量,默认单位为Bytes

第六栏为文件的最后修改时间

最后一栏则是文件的名字。

(2)修改文件的属性与权限

我们现在知道了文件权限对于系统安全重要性,也知道了使用者和群组的相关性,那么我们如何修改权限呢?我们可以修改的权限有哪些呢?修改权限我们用到以下三个指令

chgrp:改变文件所属群组

chown:改变文件拥有者 

chmod:改变文件的权限  

①chgrp:改变文件所属群组(change group的缩写),其实改变一个文件的群组很简单,要注意的是要改变的群组名称必须要在/etc/group文件内存在才可以,cat。就比如说你要加入a小组的前提是存在a小组,如果a小组不存在则失败。

语法规则:chgrp +[R] 新的群组名+要修改的文件名

-R:进行持续变更,讲子目录下的所有同名文件也全部变更,可以不加

记得我们要先su,进入管理员模式才能修改,不然你本来不能查看a小组的文件内容,然后你自己把自己修改成a小组成员,然后查看内容肯定也不合理吧

就像这个test.c文件,本来所属群组是paul

经过修改后所属群组变成了root

因为etc/group中存在root所以成了,比如我们想把他修改成qqqq群组则不会成功,因为etc/group中不存在qqqq。

②chown:改变文件拥有者(change owner的缩写),同理使用者的账号也必须在etc/passwd中存在才可以,可以用cat指令进行查看。就像你想把好吃的给你女朋友吃,但你的没有女朋友又怎么会成功呢?

语法规则:chown + [R] +账号名称+文件或者目录

例如:将test.c的拥有者改为root这个账号;

③改变权限chomd:这个是权限这部分内容中最重要的部分,大家认真看看

chomd有两种用法,分别用数字和符号进行权限变更

  • 数字类型改变文件权限

分别用数字代表权限        r:4      w:2       x:1

语法规则:chmod +[R]  +xyz +文件名

备注:这里的xyz分别代表身份是文件属主,群组,其他人。

例如:[-rwxrwx---]转化成数字 (rwxrwx---的含义上边介绍过)

文件属主owner=rwx=4+2+1=7

群组group=rwx=4+2+1=7

其他人other=---=0+0+0=0

所以权限数字为770

chmod 770 test.c

这样就把test.c的权限给修改了

  • 符号类型改变文件权限

我们知道我们改变权限的对象就三个(1)user    (2)group    (3)others三种身份,我们分别用这三个的首字母u,g,o来表示他们,此外a表示all代表全部身份。当然权限也分别用缩写r,w,x来表示

语法规则:chmod  u/g/o/a   +/-/=(增加权限/除去权限/设置权限)  r/w/x   文件名

例如:将test.c文件权限设置为rwxr-xr-x

chmod u=rwx,go=rx test.c

例如:给test.c的群组赋予w权限

chmod g+w test.c

例如:给test.c的群组除去rw权限

chmod g-rw test.c

                       

以上就是我对权限变更的理解,如果有什么不懂或者有什么遗漏错误麻烦大家指正                                                                                      

 

 

                                                     

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值