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

  •   权限       

 所谓权限,就是对某事项进行决策程度和范围,通俗来说,就是规定哪些事情能做、哪些事情不能做。那么,在Linux中有 哪些基本的权限呢?

  • Linux中的基本权限(r、w、x)   

 ①读(r ):read(读)对于文件来说,具有读取文件内容的权限;对于目录来说,具有浏览该目录信息的权限。   
 ②写(w):write(写)对于文件来说,具有修改文件内容的权限;对于目录来说,具有删除、移动目录内文件的权限。   
 ③执行(x):execute(执行)对于文件来说,具有执行文件的权限;对于目录来说,具有进入目录的权限。  

 

  •   权限的表现形式 

 ①通过字母和“-”来表示   
  在命令行输入pwd会进入到目前的目录;接着在命令行输入ls会显示出当前目录下的子目录;再在目录行输入ll(字母“L”的小       写)并执行,就会看到目前目录下所有项目的权限。操作权限其实是按照用户u(电脑的主人)、所属组(可以理解为拥有者的    队友g)、其他(o)的权限顺序依次组合。

【linux】在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.-LMLPHP
 ②通过数字来表示  
   用户(u)、所属组(g)、其他(o)所拥有的权限其实可以用一个八进制数字来表示,也就是说,一个文件的权限可以通过三个八进制数字来表示。
  如7(111)7(111)7(111)中,7对应的二进制数字是111,表示的意思就是这个文件的用户(u)、所属组(g)、其他(o)都具有可读(r)、可写(w)、可执行(x)这三种权限。

  • 进入目录的权限验证:

【linux】在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.-LMLPHP

(1)创建一个目录new并使用chmod   000  给目录设置成无权限。
(2)我们先给user加上r权限,(即chmod  u+r  new)但是看到访问被拒绝,所以进入目录不需要可读权限,需要别的权限,我们继续再给user加上其他的权限。
(3)我们在给user加上w权限(即chmod   u+w  new)进入目录访问的权限依然被拒绝,由此我们可知道进入目录的权限也不需要写权限。
(4)我们再给user加上执行权限(即chmod  u+x)我们发现可以进入目录,所以目录需要的是可执行性权限。

  总结:
(1)进入一个目录,对于普通用户至少需要可执行权限。
(2)在目录中创建一个新的文件时,用户需要可写可执行权限。
(3)在目录中创建文件并进行显示,用户需要可读可写可执行权限。

  说明: 
(1)如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录有-r权限。
(2)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令cd进入目录,但是由于目录没有读权限,所以在目录下即使可 以执行ls命令,但是仍然没有全部读出目录下的文档。

 

  • 如何修改权限    

 1.以字母形式修改
 利用chmod命令,通过对u、g或o加减想要的权限或是权限的组合(wr)来实现对文件权限的更改,修改之后,可以再次运用(ls - l)命令来查看修改后的权限。        

 2.以数字形式修改         
我们可以让u、g、o都拥有r、w、x权限。
如7(111用户即拥有rwx权限)7(111所属组即拥有rwx权限)7(其它即拥有rwx权限111)
换成3(011即-wx)3(011即-wx)2(010即-w-)
命令执行之后,通过(ls - l)命令查看文件权限
那么文件的用户(u)和所属组(g)就会拥有w、x权限,其他(o)则拥有的是w权限。

 

  • 在目录中执行增删查( touch, rm, ls,mv等)改文件动作, 需要的权限


 1.touch需要的权限(增)

【linux】在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.-LMLPHP
   ①.首先先删掉可读可写权限(即chmod u-rw),我们进入new中,使用touch,创建一个新的test,发现权限不够,不能使用touch。    
   ②.我们给new加上可读权限(即chmod u+r),我们进入new,使用touch,同1中权限不够,还是不能创建。     
   ③.当我们给new删除可读权限,加上可写权限(即chmod u-r,chmod u+w),进入new,再次使用touch,这次可以创建一个新的test了。     
 说明touch需要的是可写权限(即w权限)


2.rm需要的权限(删)

【linux】在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.-LMLPHP
 这次我们先返回hehe目录下,将new的权限重新置零,先给new一个x权限,进入new,删除new中的test.1。发现权限不够不能够删除。再给new一个r权限,进入new,删除new中的test.1,还是权限不够不可以删除。最后我们给new一个w权限,进入new后,删除test.1,这次成功删除。

说明rm所需要的是可写权限(即w权限)


3.ls所需要的权限(查)

【linux】在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.-LMLPHP
    接上面的touch test后,ls一下,发现权限不够,这时返回上一级目录,给new加一个r权限,再次进入new,ls一下出现了test。

    说明ls需要的权限是可读权限(即r权限)


 4.mv需要的权限(改)

【linux】在目录中执行增删查(cd, touch, ls, rm, mv等)改文件动作, 需要哪些权限.-LMLPHP
  先将new的权限全部置零,然后给user加一个x的权限,进入new,将test重命名为test.1,权限不够不能操作。我们再给user加一个r的权限,进入new,将test重命名为test.1,权限还是不够,最后我们再给user加一个w的权限,再次进入new,将test重命名为test.1,ls一下,这次发现new目录下是test.1了。

说明mv需要的权限是可写权限(即w权限).


 

 

10-07 20:20