首页 > 代码库 > Linux的文件权限和目录配置(三)

Linux的文件权限和目录配置(三)

linux中目录与文件权限的意义

一、文件权限的意义

r :可以读这个文件的具体内容;

w :可以编辑这个文件的内容,包括增加删除文件的具体内容;

x :文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe、bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系。

*当你对一个文件具有w权限时,你可以对文件的内容进行编辑,但是并不具备删除该文件的权限

二、目录权限的意义

r :  可以查看此目录下的完整文件列表信息(当拥有r权限,但是没有x权限时,可以看到名称但是其他信息会以?代  替,当没有r权限时,完成不会有显示)。

w :可以对此目录下的所有的文件及目录进行相关的更改,也就是可以更改这个目录下的结构列表(这个要重视) 具体权利如下:

     (1) 可以在此目录下创建新的文件或目录;

     (2)可以在此目录下删除存在的文件或目录(不论该文件的权限是什么,这点要格外注意!!!!)

     (3)可以重命名及改变文件或目录的位置。

x :目录没有可执行的权限,因此目录中x的功能就是允许别的用户进入这个目录

三,example

fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:~$ sudo su
[sudo] password for fanfan:
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/home/fanfan# cd /tmp
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp# mkdir testing
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp# chmod 744 testing
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp# touch testing/testing
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp# chmod 600 testing/testing
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp# ls -ald testing testing/testing
drwxr--r-- 2 root root 4096  1月 28 19:09 testing
-rw------- 1 root root    0  1月 28 19:09 testing/testing
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp# su fanfan
fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp$ ls -l testing
ls: 无法访问testing/testing: 权限不够
总用量 0
-????????? ? ? ? ?             ? testing
fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp$ cd testing
bash: cd: testing: 权限不够
fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp$ sudo su
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp# chown fanfan testing
root@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp# su fanfan
fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp$ cd /temp/testing
bash: cd: /temp/testing: 没有那个文件或目录
fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp$ cd testing
fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp/testing$ ls -l
总用量 0
-rw------- 1 root root 0  1月 28 19:09 testing
fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp/testing$ rm testing
rm:是否删除有写保护的普通空文件 "testing"? y
fanfan@fanfan-Compaq-Presario-CQ41-Notebook-PC:/tmp/testing$

四 注意事项

 <1> 这里有一个问题就是,有时候我们想和别人(同组,或other)共享一个文件的时候,你在改变了文件的权限后,对方还是不能看到的,因为别人进不了你的用户主目录,默认没有x权限。如果在这时你为了能让他看到这个文件而开放了x权限,别人就会进入这个目录里查看这个文件或者修改这个文件。如果这个人认为文件很好,想cp一份,那么他是没有权限的,以为目录默认也是没有w权限的,这里我们要特别注意:最好不要直接开放w权限,因为这样别人就可以随意更改此目录下的列表了(包括删除,删除是很危险的)。因此我们可以把这个文件cp一份,放到具有w权限的第三方目录下,对方也从这里cp,这样我们的主目录就不会受到任何影响了。

 <2>这里有一个好笑的例子,一个系统管理员建了一个 重要.txt 的文件,为了防止别人对这个文件有所企图,于是乎管理员设置权限为-rex------,这个管理员认为万无一失了,就把这个文件随便放了一个目录下,心想就算别人看见这个文件也什么也干不了,但是如果此时这个目录具有w的权限,那么别人虽然不能对这个文件进行任何操作,但是他却对这个文件具有删除的权限,这个可是致命的。

五 文件种类和扩展名

(1)文件名

一般文件             -                       纯文本文件 二进制文件 数据格式文件

目录                    d(directory)      目录

连接文件             l(link)                类似于windows快捷方式

块设备文件         b(block)            存储数据,以提供系统随机访问的接口设备

字符设备文件     c(character)       串行端口的接口设备

套接字                s(sockets)          socket

管道                   p(pipe)                 管道

(2)扩展名

一个linux文件能不能被执行,与它第一列的10个属性有关,与文件名根本一点关系也没有,但是我们仍希望可以由扩展名来了解文件是什么东西

.sh   脚本或批处理文件

*Z  *.tar  *.tar.gz *.zip *.tgz   压缩文件

(3)在Linux下面,默认使用Ext2/Ext3文件系统时,针对文件的文件名长度限制为:

单一文件或目录的最大容许文件名为255个字符

包含完整路径名称及目录的完整文件名为4096个字符

我们希望Linux的文件名可以一看就知道该文件是做什么的,所有文件名通常很长

Linux的文件权限和目录配置(三)