【linux】目录的增删查执行权限

进入目录需要哪些权限,在目录中执行增删查(cd,touch,ls,rm,mv等)该文件动作,需要哪些权限?
   

1.进入目录需要那些权限:
      ①root用户下
          在普通用户下使用su命令将用户切换为root用户,并且在root下创建test目录然后使用chmod清除test的所有权限:chmod 000 test。
    这时候使用cd命令,我们发现可以进入test目录。在超级用户root下,使用chown命令将test文件的所有者从超级用户root改为普通用户mairan,再次进入test,进入
    成功。
         因此,在超级用户root下,不管文件的所有者是超级用户root还是普通用户mairan,在没有可读可写可执行权限下都可以进入目录。
     ②普通用户
   在普通用户下创建test目录,并在test目录里touch一个文件test1。接着使用chmod清除test的所有权限:chmod 000 test,我们发现无法进入目录,所以在普通用户下没有任何权限时是无法进入目录的。
   Ⅰ.只给test一个可读权限chmod 400 test,仍然无法进入test目录:权限不够。
   Ⅱ.只给test一个可写权限chmod 200 test,仍然无法进入test目录:权限不够。
   Ⅲ.只给test一个可执行权限chmod 100 test,我们发现此时可以进入test目录。但却不可以读取test目录中的内容:权限不够。
   Ⅳ.给test一个可读可写权限chmod 600 test,此时无法进入test目录:权限不够。
   Ⅴ.此后我们给test一个可读可执行命令 ,此时可以进入test目录,也可读取目录中的test1文件;但不能创建文件:权限不够。
   Ⅶ.给test一个可写可执行命令 ,此时可以进入test目录,但并不可以读取test目录下的test1文件 :权限不够。这个时候我们touch一个新文件:test2,发现系统
  并没有报错,说明创建成功,但不能ls显示创建的文件:权限不够。此时给test一个755权限,在test下ls会成功显示test1,test2文件。
           因此,如果仅仅只是想要进入目录,只要具有可执行权限就可以完成。
2.在目录中执行touch命令需要哪些权限:
    ①root用户下
          在普通用户下使用su命令将用户切换为root用户,并且在root下创建test目录然后使用chmod清除test的所有权限:chmod 000 test。
    这时候使用cd命令,我们发现可以进入test目录,在test目录下touch一个test1,创建成功。
          在超级用户root下,使用chown命令将test文件的所有者从超级用户root改为普通用户mairan,再次进入test创建一个新的文件test2,创建成功。
         因此,在超级用户root下,不管文件的所有者是超级用户root还是普通用户mairan,在没有可读可写可执行权限下都可以进行touch操作。
    ②普通用户
         类比“1.进行文件需要那些权限”得出:只要目录test具有可写权限就可使用touch对目录进行操作,前提是必须cd打开test目录,即test必须具有可执行权限。
        
 3.在目录中执行ls命令:
  ①root用户下:
  类比“1.进行文件需要那些权限”得出:在超级用户root下,不管文件的所有者是超级用户root还是普通用户mairan,在没有可读可写可执行权限下都可以实用ls命令
 读取目录下的内容。
   ②普通用户
         类比“1.进行文件需要那些权限”得出:只要目录test具有可读权限就可使用ls对目录进行操作。如果cd打开test目录,即test具有可执行权限,此时ls不会报任何
      错误;如果在test文件外使用ls test会报错(ls: cannot access test/test1: Permission denied ),但仍然显示出了用户自己创建的test1文件。但是在目录test不具有
      可执行权限的情况下,使用ls对目录进行操作是不被建议的。
 
  4.在目录中执行rm命令:
   ①root用户下
  类比“1.进行文件需要那些权限”得出:在超级用户root下,不管文件的所有者是超级用户root还是普通用户mairan,在没有可读可写可执行权限下都可以使用rm对目
  录进行删除操作,但rm对目录进行操作,需要加上-r选项。
  ②普通用户下
       创建test目录,并清除目录所有权限,此时使用rm -r命令后,会出现提示信息,用户在信息后输入y回车,之后我们会发现test目录被成功删除。因此,在目录没有可读
   可写可执行操作时仍然可以使用rm执行删除操作。
 
  5.在目录中执行mv命令。
   mv -[选项] 源文件或目录 目标文件或目录
   ONE:第二个参数的类型是文件(完成文件重命名):
      ①root用户下
           类比“1.进行文件需要那些权限”得出:在超级用户root下,不管文件的所有者是超级用户root还是普通用户mairan,在没有可读可写可执行权限下都可以使用
       mv对文件或目录完成重命名操作。
      ②普通用户下
           创建test目录并且清除它的所有权限,执行mv命令,将test改名为test1操作成功。所以在目录或文件没有可读可写可执行权限时,使用mv进行重命名权限允许。
   TWO.第二个参数类型是已存在的目录(移至指定的目录)
    ①root用户下
          类比“1.进行文件需要那些权限”得出:在超级用户root下,不管文件的所有者是超级用户root还是普通用户mairan,在没有可读可写可执行权限下都可以使用
     mv完成移动的操作。
    ②在普通用户下
   将test1文件移动到test目录下,只有当test目录具有可写可执行权限时才可以操作成功;否则权限不允许。原因同上。

猜你喜欢

转载自blog.csdn.net/hgelin/article/details/82019101
今日推荐