本文摘自PHP中文网,作者V,侵删。
我们知道档案权限对于一个系统的安全重要性,也知道档案的权限对于使用者与群组的相关性, 那如何修改一个档案的属性与权限呢?
我们这里介绍几个常用于群组、拥有者、各种身份的权限的指令。如下所示:
chgrp
: 改变档案所属群组;
chown
: 改变档案拥有者;
chmod
: 改变档案的权限, SUID, SGID, SBIT等等的特性。
1. 改变所属群组chgrp
1 |
|
选项与参数:
-R:进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况。
范例:
1 2 3 4 5 |
|
免费视频教程推荐:linux视频教程
2. 改变档案拥有者chown
1 2 |
|
选项与参数:
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都变更。
范例:将install.log的拥有者改为bin这个账号:
1 2 3 |
|
范例:将install.log的拥有者与群组改回为root:
1 2 3 |
|
3. 改变权限chmod
权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。
3.1 数字类型改变档案权限
Linux档案的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
举例:档案的权限字符为 -rwxrwxrwx 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4;w:2;x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
1 2 3 |
|
所以我们设定权限的变更时,该档案的权限数字就是770啦!变更权限的指令chmod的语法是这样的:
1 |
|
选项与参数:
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更。
举例来说,如果要将.bashrc这个档案所有的权限都设定启用,那么就下达:
1 2 3 4 5 |
|
那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754 ??!所以你需要下达:
1 |
|
3.2 符号类型改变档案权限
还有一个改变权限的方法呦!从之前的介绍中我们可以发现,基本上就九个权限分别是(1)user (2)group (3)others三种身份啦!那么我们就可以藉由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x??!也就是可以使用底下的方式来看:
来实验一下吧!假如我们要设定一个档案的权限成为『-rwxr-xr-x』时,基本上就是:
1 2 |
|
所以就是:
1 |
|
注意喔!那个 u=rwx,go=rx 是连在一起的,中间并没有任何空格符!
1 2 |
|
那么假如是『 -rwxr-xr-- 』这样的权限呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』来设定。此外,如果我们知道原先的文件属性,而我只想要增加.bashrc这个档案的每个人均可写入的权限, 那么我就可以使用:
1 2 3 4 5 |
|
而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:
1 2 3 |
|
相关文章教程推荐:linux教程
以上就是linux中如何修改文件属性与权限的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《Linux》频道 >>