chownchgrp和chmod的用法

Posted Mrchan9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了chownchgrp和chmod的用法相关的知识,希望对你有一定的参考价值。

对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。

同时,在linux系统中,用户是按组分类的,一个用户属于一个或多个组。

文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。

因此,linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

在以下实例中,chen文件,属主和属组都为guest,属主有可读、可写和可执行权限,同组用户拥有可读、可执行权限,其他用户拥有可读权限。

但:对于root用户来说,一般情况下,文件的权限对其不起作用。

[email protected]:~$ ls -l chen
-rwxr-xr-- 1 guest guest 0 Apr  6 02:44 chen

 

更改文件属性

1、chown:更改文件属主,也可以同时更改文件属组

语法:

chown [-R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

参数选项:

-R:递归更改文件属组,就是在更改某个目录文件的属主时,如果加上-R的参数,那么该目录下的所有文件的属主都会被更改。

用法:

#查看原文件的属主和属组
[email protected]:/home/guest# ls -l chen
-rwxr-xr-- 1 guest guest 0 Apr  6 02:44 chen

#更改属主为root
[email protected]:/home/guest# chown root chen
[email protected]:/home/guest# ls -l chen
-rwxr-xr-- 1 root guest 0 Apr  6 02:44 chen

#更改属主为guest
[email protected]:/home/guest# chown guest chen
[email protected]:/home/guest# ls -l chen
-rwxr-xr-- 1 guest guest 0 Apr  6 02:44 chen

#同时更改属主和属组都为root
[email protected]:/home/guest# chown root:root chen
[email protected]:/home/guest# ls -l chen
-rwxr-xr-- 1 root root 0 Apr  6 02:44 chen

#仅更改属组为guest
[email protected]:/home/guest# ls -l chen
-rwxr-xr-- 1 root root 0 Apr  6 02:44 chen
[email protected]:/home/guest# chown :guest chen
[email protected]:/home/guest# ls -l chen
-rwxr-xr-- 1 root guest 0 Apr  6 02:44 chen

 

2、chgrp:更改文件属组

语法:

chgrp [-R] 属组名 文件名

 参数选项:

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

[email protected]:/home/guest# ls -l chen
-rwxr-xr-- 1 root root 0 Apr  6 02:44 chen
[email protected]:/home/guest# chgrp guest chen
[email protected]:/home/guest# ls -l chen
-rwxr-xr-- 1 root guest 0 Apr  6 02:44 chen

 

3、chmod:更改文件的九个属性

linux文件属性有两种设置方法,一种是数字,另一种是符号。

linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。

文件权限的字符为:-rwxrwxrwx       有九个权限,三个为一组,共三组。

其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

r:4

w:2

x:1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:

[-rwxr-xr-x]的分数则是:

owner=r+w+x=4+2+1=7

group=r-x=4+0+1=5

other=r-x=4+0+1=5

所以该文件权限数字就是755。

 

chmod的用法:

chmod [-R] xyz 文件或目录

 选项与参数:

xyz:就是刚刚提到的数字类型的权限属性,为rwx属性数值的相加。

-R:进行递归(recursive)的持续变更,亦即连同次目录下的所有文件或目录都会变更。

 

chmod的用法:

1、通过数字类型改变文件/文件夹的权限

把以下文件夹one的权限从原来的777更改为755,并连同one目录下的所有文件和文件夹都一起改变。

[email protected]:/home/guest# ls -l
total 4
-rwxr-xr-- 1 root guest    0 Apr  6 02:44 chen
drwxrwxrwx 4 root root  4096 Apr  6 03:23 one
[email protected]:/home/guest#
[email protected]:/home/guest# ls -l one
total 8
drwxrwxrwx 2 root root 4096 Apr  6 03:23 two
drwxrwxrwx 2 root root 4096 Apr  6 03:23 two2
-rwxrwxrwx 1 root root    0 Apr  6 03:23 two.txt
[email protected]:/home/guest#
[email protected]:/home/guest# chmod -R 755 one
[email protected]:/home/guest# ls -l
total 4
-rwxr-xr-- 1 root guest    0 Apr  6 02:44 chen
drwxr-xr-x 4 root root  4096 Apr  6 03:23 one
[email protected]:/home/guest#
[email protected]:/home/guest# ls -l one
total 8
drwxr-xr-x 2 root root 4096 Apr  6 03:23 two
drwxr-xr-x 2 root root 4096 Apr  6 03:23 two2
-rwxr-xr-x 1 root root    0 Apr  6 03:23 two.txt

 

2、通过符号类型改变文件/文件夹的权限

[-rwxrwxrwx] 总共九个权限,每三个为一组,分别为属主、属组和其他用户。

属主使用u(user)表示,属组使用g(group)表示,其他使用o(other)表示,而使用a(all)则表示所有身份(包含u、g和o)。

用法:

           u         +(加入)        r                
chmod      g         -(减去)        w              文件或目录
           o         =(设定)        x
           a

 如下,使用符号类型更改文件/文件夹的权限。

[email protected]:/home/guest# ls -l
total 0
-rw-r--r-- 1 root root 0 Apr  6 03:35 Mr_chan
[email protected]:/home/guest#
[email protected]:/home/guest# chmod u+x,g+w,o+x Mr_chan
[email protected]:/home/guest# ls -l
total 0
-rwxrw-r-x 1 root root 0 Apr  6 03:35 Mr_chan

 权限可以增加,也可以减少,如下是去掉所有用户的执行权限。

[email protected]:/home/guest# ls -l
total 0
-rwxrw-r-x 1 root root 0 Apr  6 03:35 Mr_chan
[email protected]:/home/guest# chmod a-x Mr_chan
[email protected]:/home/guest#
[email protected]:/home/guest# ls -l
total 0
-rw-rw-r-- 1 root root 0 Apr  6 03:35 Mr_chan

 

以上是关于chownchgrp和chmod的用法的主要内容,如果未能解决你的问题,请参考以下文章

Linux-- 权限和Shell运行原理

chmod 和 chown的作用与区别

Linux 基础——权限管理命令chownchgrp

在Linux和Unix中使用chmod命令改变文件权限的用法

linux就该这么学权限管理

Linux中chown和chmod的区别和用法