yxhxj2006

常用链接

统计

最新评论

Linux文件权限的那些事

linux是一个多用户,多任务的操作系统,对于每一个文件它的属性中都包括:文件所有者(owner),文件所属组(group),其他用户(other),还必须具备与这三个角色对应的读,写,执行的权限,如下图:

在tmp目录下面有一个a.txt文件,我们通过ls -l命令可以查看其详细信息:

-:表示普通文件,d:表示目录文件,l:链接文件,b:设备文件中可以供存储的接口设备,c:设备文件中串行端口设备如键盘。

由于最前面是-:所以a.txt是普通文件。

再看  rw-r--r--部分,我们将其分为三组,分别对应文件所有者,文件所属组,其他用户的权限.

其中r代表读取权限,w:代表写权限,x:代表执行权限(这里没出现),-:代表没有某种权限。

那对上面的权限的解释就是:

owner:可以读和写,不能执行

group:可以读取不能写,不能执行

other:可以读取,不能写,不能执行

 

第一个root代表文件所有者,第二个root代表文件所属组

那么现在我如果想修改文件所有者,文件所属组,文件权限该怎么做,请继续向下阅读:

chgrp:修改用户所属组,chown:修改文件所有者,chmod:修改文件权限

 

假设我的系统中又一个叫gavin的组(通过/etc/group查看)

如上图,通过chgrp命令将该文件的group修改为了gavin

下面修改其所有者:

 

修改其权限:

 

chmod  777 a.txt   这个777代表什么?

在linux中使用数字代表权限:

r:4 w:2 x:1

r--   =4+0+0=4;

rw- =4+2+0=6;

rwx =4+2+1=7

相信写到这里大家都应该明白了吧。

 

权限对于文件和文件夹的意义是不一样的,

对于文件:

r:代表可以读取文件的内容,w:代表可以修改文件的内容,x:可以执行这个文件

对于文件夹:

r:可以获取文件夹中又哪些文件,w:可以添加和删除文件夹中的内容,x:可以进入文件夹,

如果某个角色对于一个文件夹的权限是rw-;

那么他仅仅可以使用ls获取文件夹中的内容,但是不可以使用cd进入该文件夹。

 

 

 

文件的权限告一段落,现在来看看linux中的那些常见目录中的内容:

/bin   系统有很多放置执行文件的目录,但是/bin比较特殊,因为/bin放置的是在单用户维护模式下还能够被操作的命令,在/bin下面的命令可以被root和一般账户使用,如:cat,chmod,chown,data,mv,mkdir,cp ,bash等常用命令。

/boot  主要放置开机使用到的文件

/dev  在linux系统中任何设备与接口设备都是以文件的形式存在于这个目录当中,你只要访问某个文件就相当于访问该设备

/etc  系统的主要配置文件几乎都在这个文件夹类。

/home 这是系统默认的用户主文件夹

/lib 系统的函数库非常多,二/lib放置的是开机会使用到的函数库

/mnt 如果你想临时挂在一些外部设备(光盘)一般建议放置到这个目录。

/opt 这是给第三方软件放置的目录

/root 系统管理员的主文件夹

/tmp 这是让一般用户或者正在执行的程序放置文件的地方,这个目录是任何人都可以访问的,所以你需要定期清理一下,当然重要数据时不能放到这里来的。

 

 

关于文件权限的最后一点就是:文件默认权限umask

现在我们已经知道如何新建或者改变一个目录的属性了,不过你知道当你新建一个新的文件或则目录是,它的默认权限是什么吗?那就是于umask这东西有关了,那么umask是在搞什么呢,基本上,umask就是制定目前用户在新建文件或目录的时候权限的默认值,如果获得或设置umask,方法如下:

#umask  或则  umask -S

(四位数,第一位我们先不管,表示特殊权限,我们从第二位开始看起)

在默认权限上,文件和目录是不一样的,对于一个目录,x权限是非常重要的 ,而对于一个文件,x权限在默认是不应该有的,因为文件大多是用来存储数据的,所以在linux中,文件的默认权限是666,目录的默认权限是777

 

 

要注意的是umask的分数指的是“默认值需要剪掉的权限”,

所以新建文件时权限:rw--r--r--

新建目录:r-xr-xr-x

posted on 2012-08-09 14:59 奋斗成就男人 阅读(132) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问