关于目录文件所需权限的讨论
2017-03-20 23:06
211 查看
关于目录文件所需权限的讨论
条件:1,在目录下可以创建文件;
2,可以显示文件。
在Linux系统内文件有三种身份(所有者u,用户组g,其他人o),每种身份都有三种权限(r,
w ,x),我们都知道可以使用chown,chgrp,chmod来修改这些权限和属性。那么 这些文件权限对于一般文件与目录文件有何不同呢?下面详细介绍。
权限对于目录的重要性
1,文件是存放实际数据的所在,目录的主要内容就是记录文件名列表,文件名与目录有着强烈的关联。所以如果是针对目录,r,w,x分别有何意义?
r:表示具有读取目录结构列表的权限。所以你要在目录下读取显示文件则r权限是必须的。有r权限的目录你可以查询它下面的文件名数据,可以利用ls指令将该目录的内容列表显示出来。
w:表示具有可写入数据的权限。这就意味着你拥有具有更改该目录结构列表的权限 。具体权限如下:a,创建新的文件与目录;b,删除新的文件与目录;c,对已存在的文件或目录进行重命名;d,转移该目录内的文件与目录位置。
x,表示目录的可执行权限。目录不能被执行。目录的x代表着是用户能否进入该目录成为工作目录的用途,所谓的工作目录就是你当前所在的目录。
下面我来举几个实例,大家可以认真了解一下目录权限。
![](https://img-blog.csdn.net/20170320223133397?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320223219053?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如上图,所有者的权限为0,也就是说没有权限,这导致访问该目录失败
![](https://img-blog.csdn.net/20170320223326001?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320223338398?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320223432190?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上图:所有者的权限分别是4和2,也就是说分别具有可读权限和可写权限,但是访问还是失败。
![](https://img-blog.csdn.net/20170320223542864?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320223554833?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如图,使用者权限为可执行,通过pwd显示的工作途径来看成功进入code目录,但是访问其中内容失败。
![](https://img-blog.csdn.net/20170320223635197?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320223646928?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如图,使用者权限为3(可写且可执行),通过pwd显示的工作途径来看成功进入code目录,但是访问其中内容失败。
![](https://img-blog.csdn.net/20170320223701553?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320223713681?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如图,使用者权限为5(可读且可执行),通过pwd显示的工作途径来看成功进入code目录,且成功显示内容,但是通过mkdir修改其内容时,却失败了。
![](https://img-blog.csdn.net/20170320<br/>4000<br/>223723851?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320223736820?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如图,使用者权限为6(可读且可写),但是访问失败
![](https://img-blog.csdn.net/20170320223749211?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320223757648?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
如图,使用者权限为7(可读,可写,可执行),通过pwd显示的工作途径来看成功进入code目录,且成功显示内容,通过mkdir也成功修改其内容。
而对于系统来说,创建一个文件他的默认权限是什么呢?这就牵扯了一个指令umask,umask设置了用户创建文件的默认权限。它与chmod的效果正好相反umask设置的是权限的“补码”,而chmod设置的是文件权限码。看下两张图
![](https://img-blog.csdn.net/20170320225634768?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170320225645002?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGdfZG9n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
图一为新建文件test,他的默认权限是rwx rwx r-x ,即775.而指令umask之后展示的值为002,正好是775的“补码”。
注:有的系统的umask值为0022,即他的默认权限为755.
综上:要在一个目录下成功的创建文件且显示出来,使用者权限必须为7(r,w,o)。
条件:1,在目录下可以创建文件;
2,可以显示文件。
在Linux系统内文件有三种身份(所有者u,用户组g,其他人o),每种身份都有三种权限(r,
w ,x),我们都知道可以使用chown,chgrp,chmod来修改这些权限和属性。那么 这些文件权限对于一般文件与目录文件有何不同呢?下面详细介绍。
权限对于目录的重要性
1,文件是存放实际数据的所在,目录的主要内容就是记录文件名列表,文件名与目录有着强烈的关联。所以如果是针对目录,r,w,x分别有何意义?
r:表示具有读取目录结构列表的权限。所以你要在目录下读取显示文件则r权限是必须的。有r权限的目录你可以查询它下面的文件名数据,可以利用ls指令将该目录的内容列表显示出来。
w:表示具有可写入数据的权限。这就意味着你拥有具有更改该目录结构列表的权限 。具体权限如下:a,创建新的文件与目录;b,删除新的文件与目录;c,对已存在的文件或目录进行重命名;d,转移该目录内的文件与目录位置。
x,表示目录的可执行权限。目录不能被执行。目录的x代表着是用户能否进入该目录成为工作目录的用途,所谓的工作目录就是你当前所在的目录。
下面我来举几个实例,大家可以认真了解一下目录权限。
如上图,所有者的权限为0,也就是说没有权限,这导致访问该目录失败
上图:所有者的权限分别是4和2,也就是说分别具有可读权限和可写权限,但是访问还是失败。
如图,使用者权限为可执行,通过pwd显示的工作途径来看成功进入code目录,但是访问其中内容失败。
如图,使用者权限为3(可写且可执行),通过pwd显示的工作途径来看成功进入code目录,但是访问其中内容失败。
如图,使用者权限为5(可读且可执行),通过pwd显示的工作途径来看成功进入code目录,且成功显示内容,但是通过mkdir修改其内容时,却失败了。
如图,使用者权限为6(可读且可写),但是访问失败
如图,使用者权限为7(可读,可写,可执行),通过pwd显示的工作途径来看成功进入code目录,且成功显示内容,通过mkdir也成功修改其内容。
而对于系统来说,创建一个文件他的默认权限是什么呢?这就牵扯了一个指令umask,umask设置了用户创建文件的默认权限。它与chmod的效果正好相反umask设置的是权限的“补码”,而chmod设置的是文件权限码。看下两张图
图一为新建文件test,他的默认权限是rwx rwx r-x ,即775.而指令umask之后展示的值为002,正好是775的“补码”。
注:有的系统的umask值为0022,即他的默认权限为755.
综上:要在一个目录下成功的创建文件且显示出来,使用者权限必须为7(r,w,o)。
相关文章推荐
- 关于Linux中进入目录和在其下创建,显示文件所需权限,以及Atime,Ctime,Mtime和含义。
- Linux关于文件和目录的访问权限
- PHP关于文件与目录(1) 写入文件 文件权限 三、锁定文件
- 关于Linux系统中文件或目录的s、t权限位的说明
- 文件访问权限中关于文件和目录的访问权限
- 关于Linux系统中文件或目录的s、t权限位的说明
- 关于文件权限和目录权限
- 在Linux下进入目录,目录下创建、修改、删除文件所需权限
- Linux系统关于ACM时间的使用和文件目录的权限的问题
- PHP关于文件与目录(1) 写入文件 文件权限 三、锁定文件
- 您不具备查看该目录或页面的权限,因为访问控制列表(ACL)对Web服务器上的该资进行了配置-关于IIS新追加文件无法访问的原因
- 每天进步一点点:(2)关于文件和目录权限小解
- 关于文件目录的P2P共享问题
- Linux学习笔记之目录和文件权限
- 修改文件目录的权限(chown chgrp)
- Linux改变文件或目录的访问权限命令
- 和kcome的讨论--关于用TBuf8存放文件中读出的数据
- asp.net 2.0 中用C#代码在C:/Inetpub/wwwroot下创建目录,创建文件,写文件等有权限问题,可以用FSO方式
- linux设置目录和文件使用权限
- Linux改变文件或目录的访问权限命令