类别:CentOS / 日期:2019-10-10 / 浏览:2592 / 评论:0

修改权限命令:

chmod [-R] xyz 文件/目录 (xyz是数值或字符)

修改文件/目录所有者命令:

chown [-R] 用户名 文件/目录  

修改文件/目录所属组命令:

 用chgrp [-R] 用户名 文件/目录 

-R 表示递归目录下所有文件

-------------------------------------------------------

 一、查看权限

Linux文件访问权限分为可读,可写和可执行三种。

可用ls -l命令查看,例:

ls -l

显示
-rwxr-xr-x 1 root root 6444 09-22 15:33 shmwrite
-rw-r--r-- 1 root root 1443 09-22 15:33 shmwrite.c
drwxr-xr-x 2 root root 4096 09-22 17:19 test

第一个字符代表文件类型。d代表目录,-代表非目录。

接下来每三个字符为一组权限,分为三组,依次代表所有者权限,同组用户权限,其它用户权限

每组权限的三个字符依次代表是否可读,是否可写,是否可执行

表示拥有读的权限

表示拥有写的权限

表示拥有可执行的权限

表示没有该权限

二、修改文件权限
1
、用数字来改变文件权限。语法:

chmod xyz 文件/目录 (xyz是数值)

: 4(读权限)

w: 2(写权限)

: 1(执行权限)

我们再将这些数字相加,就得到每一组的权限值,例如:

-rw-r--r-- 1 ftpus ftpus 141 3月  28 01:26 qqq.txt

第一组(user):rw- = 4+2+0 = 6,表示读写

第二组(group):r-- = 4+0+0 = 4,表示只读

第三组(others):r-- = 4+0+0 = 4,表示只读

代表没有任何权限

以此类推

那么644就是fileb权限的数字表示值。

如果我们想改变某一个文件的权限,首先需要将权限转化为数字组合,例如我们想得到-rwxrw-r--,那么就应该得到数字组合:[4+2+1][4+2+0][4+0+0]=764,然后再用chmod命令去修改

例:

chmod 764 qqq.txt

2、用字符来改变文件权限

我们已经了解到,文件权限分为三组,分别是user,group,others,那么我们可以用u,g,o分别代表三组,另外,a(all)代表全部,而权限属性即可用r,w,x三个字符来表示,减号-表示无权限。那么请看下面的语法:

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

(中间的u/g/o/a要用逗号隔开,例:u=w,g=rw,o=x)

例一:

我们想设置qqq.txt文件的user=可读、可写、可执行,group=可读,other=无权限。

输入命令为:chmod u=rwx,g=r,o=- qqq.txt

如果全部变成可读、写和执行,可以用a=rwx,例:

chmod a=rwx qqq.txt

例二:

(1)、已知qqq.txt是a=rwx,需要变为user=可读、可写,group=可读,other=可读。命令为:

chmod u-x,g-wx,o-wx qqq.txt

(2)、已知qqq.txt是u=rw,g=rw,o=-,需要变为u=rwx,g=r,o=r。命令为:

chmod u+x,g-w,o=r qqq.txt

(3)、已知qqq.txt是777权限,需要变为任何人都只读。命令为:

chmod a-wx qqq.txt

即只有文件所有者ftpus才能修改。

三、修改文件夹及其子文件夹的权限

和上面修改文件的语法一样,但有一点要注意,同时修改子文件夹的要加参数:-R

chmod -R xyz 文件/目录 (xyz是数值或字符)

-R参数是递归 处理目录下的所有文件以及子文件夹

加入-R 参数,就可以将读写权限传递给子文件夹

例如chmod -R  777  /home/mypackage
那么mypackage 文件夹和它下面的所有子文件夹的属性都变成了777

如果只修改/home/hi文件夹下的所有文件权限(不包括子文件夹里面的文件),可以

chmod 777 /home/hi/*

-------------------------------------------------------------------------

具体说明:

1.        有只读权限的用户不能用cd进入该目录:还必须有执行权限才能进入;

2.        有执行权限的用户只有在知道文件名,并拥有读权利的情况下才可以访问目录下的文件;

3.        必须有读和执行权限才可以ls列出目录清单,或使用cd命令进入目录;

4.        有目录的写权限,可以创建、删除或修改目录下的任何文件或子目录,即使使该文件或子目录属于其他用户也是如此;

 几种常用权限实例:

  -rw------- (600) 只有所有者才有读和写的权限

  -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限

  -rwx------ (700) 只有所有者才有读,写,执行的权限

  -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限

  -rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限

  -rw-rw-rw- (666) 每个人都有读写的权限

  -rwxrwxrwx (777) 每个人都有读写和执行的权限

四、修改文件拥有者——chown

修改文件拥有者的命令自然就是chown,即change owner。chown功能很多,不仅仅能更改文件拥有者,还可以修改文件所属组群。如果需要将某一目录下的所有文件都改变其拥有者,可以使用-R参数。

语法如下:

 chown [-R] 账号名称      文件/目录

 chown [-R] 账号名称:组群  文件/目录

1、例,将qqq.txt的找拥有者改为root,命令为:

chown root qqq.txt

2、例,将拥有都和所属组都改为root,命令为:

chown root:root qqq.txt

3、例,tex文件夹及子文件夹、文件都是ftpus,需要改为root,所属组root

命令为:chown -R root:root tex

五、修改文件所属组群——chgrp

修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令)

语法:chgrp [-R] 组群  文件名/目录 

例,将fi文件夹的组root修改为ftpus,命令:

chgrp ftpus fi

友情提醒:

chgrp,chown,chmod这些命令默认的情况下只有root有权限执行,大家有时可能会用普通账户去修改文件权限,linux会提示你没有这个权限。因此大家一定要注意当前用户,例如:

[zgz@redhat ~]$ chgrp groupb filea
chgrp: changing group of `filea': Operation not permitted

--zgz没有权限来改变‘filea’的组群


打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章