linux目录权限

首先来谈一下linux下文件的权限。

linux中秉承everything is a file的理念,每一个文件有三个权限,可读(r),可写(w),可执行(x)。权限表示用r、w、x这三个字母进行表示,"-"就表示不具有特定的权限。如图:


而目录的权限一开始也是让人有些难于理解,so 去实践一下吧:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. jack@jiaobuchong:~/test$ mkdir sky    //创建sky这个文件夹作为测试  
  2. jack@jiaobuchong:~/test$ ls -l  
  3. total 4  
  4. drwxrwxr-x 2 jack jack 4096 Aug  5 15:22 sky  
  5. jack@jiaobuchong:~/test$ chmod 700 sky        //把sky这个目录组和其他的权限给归0  
  6. jack@jiaobuchong:~/test$ ls -l  
  7. total 4  
  8. drwx------ 2 jack jack 4096 Aug  5 15:22 sky   //目前这个jack这个用户在sky这个文件夹里可以任何想干的  

目录的可执行权限:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. jack@jiaobuchong:~/test$ ls -l  
  2. total 4  
  3. drwx------ 2 jack jack 4096 Aug  5 15:39 sky  
  4. jack@jiaobuchong:~/test$ chmod u-x sky     //去掉可执行权限  
  5. jack@jiaobuchong:~/test$ ls -l  
  6. total  
  7. drw------- 2 jack jack 4096 Aug  5 15:39 sky  
  8. jack@jiaobuchong:~/test$ cd sky               
  9. bash: cd: sky: Permission denied     //想进去这个目录不可以了  
  10. jack@jiaobuchong:~/test$   

现在我把sky目录的可执行权限去掉:

所以可得出结论,目录的可执行权限,就是用户能不能进入这个目录。没有了进入的(可执行)权限,用户对这个目录就啥也不能干了。

目录的可读权限:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. jack@jiaobuchong:~/test$ chmod u+x sky/  
  2. jack@jiaobuchong:~/test$ ls -l  
  3. total 4  
  4. drwx------ 2 jack jack 4096 Aug  5 15:39 sky  
  5. jack@jiaobuchong:~/test$ chmod u-r sky/         //对sky这个目录去掉可读的权限  
  6. jack@jiaobuchong:~/test$ ls -l  
  7. total 4  
  8. d-wx------ 2 jack jack 4096 Aug  5 15:39 sky  
  9. jack@jiaobuchong:~/test$ cd sky  
  10. jack@jiaobuchong:~/test/sky$ ls               //没有可读的权限后,就不能浏览这个目录里的内容了  
  11. ls: cannot open directory .: Permission denied  
  12. jack@jiaobuchong:~/test/sky$   
目录的可读权限就是能不能浏览这个文件夹里的内容,内容就是目录里面文件的名字。可以试着编辑这个文件夹:

$vim sky 

没有可读权限时,结果是看不到任何东西的。如果具有可读的权限,编辑文件目录sky,我们可以看见有内容:文件目录里面各个文件的名字。

目录的可写权限:

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
  1. jack@jiaobuchong:~/test$ chmod u-w sky/  
  2. jack@jiaobuchong:~/test$ cd sky/  
  3. jack@jiaobuchong:~/test/sky$ ls  
  4. hello  
  5. jack@jiaobuchong:~/test/sky$ rm hello      
  6. rm: cannot remove `hello': Permission denied  
  7. jack@jiaobuchong:~/test/sky$ touch test  
  8. touch: cannot touch `test': Permission denied       //当我们想创建文件和删除文件时都不行了  
  9. jack@jiaobuchong:~/test/sky$   
目录的可写权限就是能否在这个目录里进行添加、删除文件的操作。


最后通俗地总结一下:

目录的可读权限就是可以在目录里可以使用ls命令;

目录的可写权限就是可以在目录里可以使用touch、mkdir、rmdir、rm等命令;

目录的可执行权限就是可以使用cd命令进入这个目录。

发布了27 篇原创文章 · 获赞 0 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章