Linux chgrp chown chmod的使用

来源:互联网 发布:淘宝增加流量 编辑:程序博客网 时间:2024/05/16 15:38

我们知道档案权限对于一个系统的安全重要性,也知道档案的权限对于使用者与群组的相关性, 那如何修改一个档案的属性与权限呢?

我们这里介绍几个常用于群组、拥有者、各种身份的权限的指令。如下所示:

chgrp  :  改变档案所属群组(英语解释:change group)

chown :  改变档案拥有者(英语解释:change owner)

chmod :  改变档案的权限, SUID, SGID, SBIT等等的特性(英语解释:change mode)

1. 改变所属群组, chgrp

复制代码
[root@www ~]# chgrp [-R] dirname/filename ... 
选项与参数:
-R :进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录内所有的档案之情况。
范例:
[root@www ~]# chgrp users install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log
[root@www ~]# chgrp testing install.log
chgrp: invalid group name `testing' <== 发生错误信息息啰~找不到这个群组名~
复制代码

2. 改变档案拥有者, chown

复制代码
[root@www ~]# chown [-R] 账号名称 档案或目录 [root@www ~]# chown [-R] 账号名称:组名 档案或目录选项与参数:    -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都变更范例:将install.log的拥有者改为bin这个账号:[root@www ~]# chown bin install.log [root@www ~]# ls -l 
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log 范例:将install.log的拥有者与群组改回为root: [root@www ~]# chown root:root install.log [root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
复制代码

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---] 分数则是:

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

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

所以我们设定权限的变更时,该档案的权限数字就是770啦!变更权限的指令chmod的语法是这样的:

[root@www ~]# chmod [-R] xyz 档案或目录 选项与参数: xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。 -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案都会变更

举例来说,如果要将.bashrc这个档案所有的权限都设定启用,那么就下达:

[root@www ~]# ls -al .bashrc 
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc

那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754 啰!所以你需要下达:

[root@www ~]# chmod 754 filename

0 0