Linux --- 如何改变文件权限(一)

      Linux 文件属性的重要性:在Linux系统中,每个文件都多了很多的属性进来,尤其是群组的概念,基本上最大的用途是在[ 安全性 ]上面。举例,在Linux系统中,关于系统服务的文件通常只有root才能读写或是执行,例如 /etc/shadow 这是账号管理的文件,由于改文件记录了你的系统所有账号的数据,因此是很重要的一个信息文件,当然不能让任何人读取只有root才能够读取,所以该文件的属性就会成为[ -rw------- ]。

如何改变文件权限

了解了文件权限对于一个系统的安全重要性了,那么如何修改一个文件的权限呢?有多少文件的权限我们可以修改呢?大致上我们先介绍几个简单的,例如:群组、拥有者、各种身份的权限等。

                                               chgrp:改变文件所属群组

                                               chown:改变文件所属人

                                               chmod:改变文件的属性、SUID等特性

改变所属群组,chgrp

这个命令是 change group 的缩写,要改变成为群组名称必须要在 /etc/group 里面存在的名称才行,否则就会显示错误!

改变文件拥有者,chown

这个命令是change owner 的缩写,如果要连目录下的所有子目录或者文件同时更改文件拥有者的话,直接加上 - R 的参数即可。要注意的是使用者必须是已经存在系统中,也就是在 /etc/passwd 这个文件中有记录的使用者名称才能改变。

改变九个属性,chmod

文件属性的改变使用是chmod这个命令,分别是owner/group/others  组别的 read/write/excute 属性

                                                -rwxrwxrwx

这九个属性是三个三个一组的,其中,我们可以使用数字来代表各个属性,各属性的对照表如下:

                                           r:4         w:2          x:1

同一组 (owner/group/others)的三个属性 (r/w/x)是需要累加的,例如当属性为 [ -rwxrwx--- ]则是:

                                            owner = rwx = 4+2+1 = 7

                                             group = rwx = 4+2+1 = 7

                                             others = --- = 0+0+0 = 0

所以当我们设定属性变更时,该属性的数字就是770了

符号类型改变文件权限

还有一个改变属性的方法,从上面的介绍中可以发现,基本上九个属性分别是(1)user (2)group (3)others三群,那么我们就可以藉由 u、g、o 来代表三群的属性!此外,a 则代表all 即全部的三群!那么读写的属性就可以写成 r 、w 、x

假如我们要设定一个文件的属性为 [ - rwxr-xr-x ]时:

    user (u):具有读取、写入、可执行的权限,

    group 与 others (g / o):具有读取与执行的权限。

g+x 添加属组的可执行权限:

如果将属性去掉而不更改其它的属性呢,例如要拿掉所有人的 x 的属性:

知道 = ,+,- 的不同点了吧,+ 与 - 的状态下,只要没有指定到的项目,则该属性不会被变动,例如上面的例子中,由于仅以 - 拿掉 x 则其它两个保持的值不变!

目录属性的意义:

上面提到的属性几乎都是针对一般文件的特性在说明,那么如果是针对目录时,那个 r , w , x 对目录是什么意义呢?

 r (read contents in directory):表示具有读取目录结构清单的权限,所以当你具有读取(r)一个目录的权限时,你就可以利用ls(list)这个命令查看该目录的内容列表!

w(modify contents of directory):这个是可写入权限,表示你讲具有改动该目录结构清单的权限,也就是下面这些权限:

                                               1.建立新的文件与目录

                                               2.删除已经存在的文件与目录(不论该文件或目录属于谁的!)

                                               3.将已存在的文件或目录进行更名

                                               4.搬迁该目录内的文件、目录的位置

所以说,如果你是一般身份使用者,例如我的账号chd ,那么在 /home/chd这个家目录内,无论是谁(包括root)建立的文件,无论改文件属于谁,无论该文件的属性是什么,chd 这个使用者都有权限将该文件删除的。

x(access directory):这个 x 与能否进入该目录有关!

接下来,将root 的身份切换成一般身份的使用者

再测试一下能否删除呢?

通过上面这个简单不步骤就可以知道,x 在目录当中是与[能否进入该目录]有关,至于那个 w 则具有相当重要的权限,因为 w 可以让使用者删除、更新、新建文件或目录,是个很重要的参数!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值