Linux目录/文件权限

Linux目录文件权限

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁能通过何种方式对文件和目录进行访问和操作。文件或目录的访问权限分为只读,只写和可执行三种。

对目录(文件夹)设置权限是一件极其容易引起误导的事情,问题在于在linux的操作系统下,文件和目录两者的“读”“写”“执行”这三个权限有不同的含义。

对于目录来讲,读权限授予用户读取目录中文件的文件名(这里强调只能获取文件名)的权利,但是不能获取更多的文件信息,如文件类型,文件大小,所有者,权限等。

对于目录来讲,写权限授予用户修改目录中条目(entries)的能力,包括创建、删除文件以及修改文件名。

执行权限授予用户执行文件的能力,这个授权只能设置在可执行二进制文件或Shell脚本以允许操作系统来运行他们。

其实目录是硬盘上划分的一块区域,为了方便,容易找到文件,把互相有关的文件存储在一个文件夹内。就像把钢笔、铅笔、橡皮、小刀和尺子放在一个铅笔盒一样。

linux中的文件、目录权限区别如下:

 

文件

目录

  r:可读权限

读取文件内容

读包含在目录中的文件名称

  w:可写权限

对文件内容进行编辑

可以写信息到目录中,即可以创建、

删除文件、移动文件等操作

  x:可执行权限

作为执行文件执行

可以进入目录;可以搜索

(能用该目录名称作为路径名

去访问它所包含的文件和子目录)

举例说明:

1. 对文件有w权限不能删除文件,需要对文件所在的目录有w权限;

2. 对目录有w权限不能cd进入目录,需要对目录有x权限;

3. 对目录有x权限,只有在知道文件名并且有r权限的时候才能访问目录下的文件;

4. 对目录必须有x权限才能cd进入到目录,必须有rx权限才能使用ls列出目录清单;

5. 对目录有w权限,可以对目录中的任何文件或子目录进行创建、删除或修改操作,即使该文件或目录的所有者是其它用户也是如此;

umask 命令允许设定文件创建时的缺省模式,文件和目录的“文件属主”、“同组用户”、“其他用户”存在一个相应的umask值中的数字。对于文件来说,系统不允许用户在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限,所以各个数字的最大值分别是6。而目录则允许设置执行权限,这样针对目录来说,umask中各个数字最大可以到7。所以对于目录来说最大权限为777,而文件的最大权限为666。

可以有几种计算umask值的方法,通过设置umask值,可以改变为新创建的文件和目录设置缺省权限。

无论umask的值是什么,在红帽企业版系统中,新建文件不再自动创建可执行权限。换句话说,一个umask值为0454和0545的新建文件会具有相同的权限。对于特定的文件,如果需要可执行权限,则需要使用chmod命令来设置。

相对于文件或目录的最大权限来说,umask和用户默认权限值,在二进制形式上是互为“补码”的关系。

默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认 权限是755(7-0,7-2,7-2)

(a)将umask值于目录的最大权限(777)进行异或得到的值即为新建目录的权限值。
(b)将umask值与文件的最大权限(666)进行异或得到的值即为新建文件的权限值。

例如:

 $ umask

0022

$ touch test

$ ll a

-rw-r--r--1 sys sys 0 2013-04-12 10:32 test

新文件的二进制权限码为: 011-100-100

该权限码的计算方法为: 文件最大权限值(666) 与 umask值(022)的异或结果。

110-110-110

000-010-010   < 异或 XOR

------------------------------

110-100-100 < 新建文件的权限码,符号形式为: -rw-r--r--

注:rwx这三个的位置不能改变,没有就用-代替。

用下面的例子来进行说明:

有文件全名为/home/student/www/index.html ,各相关文件/目录权限如下:

第一栏表示的是文件的属性

这一栏的11个字符表示的意思如下

第一个字符表示的是文件的性质(文件、目录、连接文件等等),如:

.表示的是隐藏文件

d表示目录

-表示文件

l是一个连接文件(相当于快捷方式)

b是块设备文件(block)。一般放在/dev目录下,设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件。没有文件大小,只有一个主设备号和一个辅设备号。一次传输数据为一整块的被称为块设备,如硬盘、光盘等。最小数据传输单位为一个数据块

(通常一个数据块的大小为512字节)。

c是字符设备文件(character)。一般放在/dev目录下,一次传输一个字节的设备被称为字符设备,如键盘、字符终端等,传输数据的最小单位为一个字节。

p是命令管道文件

s是sock文件

第二到第十个字符表示的是权限

他们三个为一组,共分三组

第一组表示的是文件的所有者的权限

第二组表示的是文件的所属组(同组用户)的权限

第一组表示的是其他人的权限

第二栏表示的是有多少文件连接到inode(索引节点)

如果是一个文件,此时这一字段表示这个文件所具有的硬链接数,

如果是一个目录,则此字段表示该目录所含子目录的个数。

第三栏表示的是文件的所有者

第四栏表示的是文件的所属组

第五栏表示的是文件的大小(以字节为单位)

第六栏表示的是文件的创建日期或修改日期

第七栏表示的是文件名

(1)让用户能进入某目录成为“可工作目录”的基本权限是什么

可使用的命令:cd等切换工作目录的命令。

目录所需权限:用户对这个目录至少需要具有x的权限。

额外需求:如果用户想要在这个目录内利用ls查阅文件名,则用户对此目录还需要r的权限。

(2)用户在某个目录内读取一个文件的基本权限是什么

可使用的命令:例如cat,more,less等。

目录所需权限:用户对这个目录至少需要具有x权限。

文件所需权限:用户对文件至少需要具有r的权限才行。

(3)让用户可以修改一个文件的基本权限是什么

可使用的命令:例如nano或vi编辑器。

目录所需权限:用户在该文件所在的目录至少要有x权限。

文件所需权限:用户对该文件至少要有r,w权限。

(4)让一个用户可以创建一个文件的基本权限是什么

目录所需权限:用户在该目录至少要有w、x的权限。

(5)让用户进入某目录并执行该目录下的某个命令的基本权限是什么

目录所需权限:用户在该目录至少要有x的权限。

文件所需权限:用户在该文件至少需要x的权限。

让一个用户vbird能够进行:

cp/dir1/file1/dir2的命令时,请说明/dir1/file1/dir2的最小所需权限?

运行CP时,vbird要能够读取来源档,并且写入目标档,因此各文件/目录的最小权限应该是:
dir1:至少需要有x权限
file1:至少需要有r权限
dir2:至少需要有w、x权限

chmod命令是非常重要的,用于改动文件或目录的访问权限。用户用它控制文件或目录的访问权限。

我们必须首先了解用数字表示的属性的含义:0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。所以数字属性的格式应为3 个从0到7的八进制数,其顺序是(u)user、(g)group、(o)others、(a)all。

例如,如果想让某个文件的属主有“读/写”二种权限,需要把4(可读)+2(可写)=6(读/写)。110

数字设定法的一般形式为:

chmod [mode] 文件名     chmod 711 wenjian.c

chown命令

功能:更改某个文件或目录的属主和属组。这个命令也非常常用。如果想存取一个文件的话,可以用该命令将文件的属主设为该用户。

该命令的各选项含义如下:

- R 递归式地改动指定目录及其下的所有子目录和文件的拥有者。

- v 显示chown命令所做的工作。

例1:把文件shiyan.c的所有者改为oracle。

$ chown oracle shiyan.c

例2:把目录/his及其下的所有文件和子目录的属主改成oracle ,属组改成users。

$ chown -R oracle.users /his

chgrp命令

功能:改动文件或目录所属的组。

语法:chgrp [选项] group filename

该命令改动指定指定文件所属的用户组。其中group能是用户组ID,也能是/etc/group文件中用户组的组名。

文件名是以空格分开的要改动属组的文件列表,支持通配符。如果用户不是该文件的属主或终极用户,则不能改动该文件的组。

该命令的各选项含义为:

-    R 递归式地改动指定目录及其下的所有子目录和文件的属组。

例1:$ chgrp –R book/opt/local /book

改动/opt/local /book/及其子目录下的所有文件的属组为book。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值