khler

=================================================
本文为HeYuanHui原作

转载必须确保本文完整并完整保留原作者信息及本文原始链接!

NN:      khler
E-mail: khler@163.com
QQ:     23381103
MSN:   pragmac@hotmail.com
=================================================

 

在Linux操作系统下,ls命令用来列出指定目录下的所有文件,如果加入参数\'-l\',则同时列出所有文件/文件夹的操作权限,如下所示:

hyh@hyh-Ubuntu:~$ ls -l
总计 
96804
-rw-r--r--  1 hyh hyh        0 2011-01-30 13:46 aaa.fd
-rwxrw-rw-  1 hyh hyh  7385035 2010-04-15 22:13 CHNTEL_Linux_UI.tar.gz
-rwxrw-rw-  1 hyh hyh     1373 2010-08-07 20:24 client.c
-rw-r--r--  1 hyh hyh        0 2011-01-30 13:46 create
drwxr
-xr-x  2 hyh hyh     4096 2010-12-21 10:02 cutecom
drwxrwxrwx  
2 hyh hyh     4096 2010-12-20 15:17 cutecom-0.22.0
...

 

 

前面诸如"-rw-r--r--"的标记即为相应文件的操作权限。

刚开始接触总看不明白这些rwx到底是什么意思,其实分解一下就相当简单了。

简单说就是四个部分:目录标记、当前用户权限、组用户权限、除上述用户以外的用户权限,Linux用\'d\'、\'r\'、\'w\'、\'x\'分别表示读\'目录\'、\'可权限\'、\'可写权限\'、\'可执行权限\'。

 

1、第一个字符

第一个字符表示是否是文件夹,如果是,则为\'d\',否则为\'-\',这个很好理解,d就是directory,如果是文件夹,就用\'d\'表示,如果是文件,当然就是\'-\'了,所以你经常会在 ls -l 时看到文件前的第一个字符都是 \'-\';

2、当前用户权限

接下来的三位表示当前用户的操作权限,分别是rwx,其中第一位标示是否有读权限,如果有,则为\'r\',否则为\'-\';同理,第二位标示是否有写权限,如果有,则为\'w\',否则为\'-\';第三位标示是否有执行权限,如果有,则为\'x\',即\'executable\'的\'x\',否则为\'-\';

3、组权限和其他用户权限

后面的三位表示所属组的权限,用来控制本组内的用户所有用的权限;最后三位就是除上述用户以外的用户权限。同样以rwx表示

4、为什么还有数字76543210?

由于Linux的所有文件的权限都是用数字掩码来标记的,所你可以用chmod带-r、-w、-x来增减权限,也可以用数字来控制权限:

0 - 无权限 

1 - 有可执行权限 

2 - 有可写入权限 

4 - 有可读取权限 

在bit中即为:

 

bit: 1 1 1

字符:r w x

数字:4 2 1

 

那么,当你有可读写及执行权限后,此文件的权限就是7 = 4+2+1

 

举例:

对aaa.fd文件修改权限前:

hyh@hyh-Ubuntu:~$ ls -l
总计 
96804
-rw-r--r--  1 hyh hyh        0 2011-01-30 13:46 aaa.fd

 

 

用755权限修改后:

hyh@hyh
-Ubuntu:~$ chmod 755 aaa.fd
hyh@hyh
-Ubuntu:~$ ls -l
总计 
96804
-rwxr-xr-x  1 hyh hyh        0 2011-01-30 13:46 aaa.fd

 

 

 

分类:

技术点:

相关文章:

  • 2021-05-28
  • 2022-12-23
  • 2021-12-24
  • 2021-11-15
猜你喜欢
  • 2021-09-18
  • 2021-12-18
  • 2021-12-05
相关资源
相似解决方案