Linux文件属性、权限设置

wacsdn 2009-12-11

文件属性和权限

[root@daf root]# ls -al

total64

drwxr-x---4rootroot4096Feb1422:02.

drwxr-xr-x23rootroot4096Feb1613:35..

-rw-r--r--1rootroot1210Feb1006:03anaconda-ks.cfg

-rw-------1rootroot12447Feb1423:22.bash_history

-rw-r--r--1rootroot24Jun112000.bash_logout

-rw-r--r--1rootroot234Jul62001.bash_profile

-rw-r--r--1rootroot217Feb922:06.bashrc

-rw-r--r--1rootroot210Jun112000.cshrc

drwx------2rootroot4096Feb1421:54.gnupg

-rw-------1rootroot8Feb1422:05.mysql_history

drwx------2rootroot4096Feb1000:44.ssh

-rw-r--r--1rootroot196Jul112000.tcshrc

-rw-r--r--    1 root     root         1126 Aug 24  1995 .Xresources

     一      二   三     四           五   六           七  [文件属性][节点数][作者][所属群组]   [大小][创建时间]   [文件名]

*文件名中带有[ . ]开头的代表隐藏文件。
 
Linux文件属性、权限设置
 
文件类型代码:[ d ]--目录、[ - ]--文件、[ l ]--链接、[ b ]--可储存周边设备、[ c ]--序列设备。
 
文件权限属性:[ r ]--可读、[ w ]--可写、[ x ]--可执行。
*对于目录,必需具有执行权限才可进入
*文件的执行属性将决定文件是否可执行,而与文件扩展名无关
 

改变权限设置:

chgrp :改变所属群组

*要改变的群組名必须在 /etc/group 中存在
 
语法: chgrp 群组名 文件或目录

如:

[root@testroot]#chgrpuserstmp

[root@testroot]#ls–l

drwx------2rootroot4096Oct1911:43drakx/

drwx------2rootusers4096Oct1921:24tmp/

[root@testroot]#chgrptestingtmp

chgrp:invalidgroupname`testing'<==出错信息!

chown :改变作者

 [ -R ] :同时对目录下的所有子目录或文件的作者进行修改
*用户名必须已存在系统中,也就是在 /etc/passwd 中存在的用户名。 *chown 可直接修改所属群組
 
语法:

chown[-R]用户名文件或目录

chown [ -R ] 用户名:群组名 文件或目录

如:

[root@testroot]#chowntesttmp

[root@testroot]#ls-l

total28

drwx------2rootroot4096Oct1911:43drakx/

drwx------2testusers4096Oct1921:24tmp/

[root@testroot]#chown–Rroot:roottmp

[root@testroot]#ls–l

drwx------2rootroot4096Oct1911:43drakx/

drwx------2rootroot4096Oct1921:24tmp/

 chmod :改变权限属性

方式一 数字类型改变三个基本属性:r、w、x的数字类型代表:r:4、w:2 、x:1

语法:

chmod[-R]xyz文件或目录

xyz 为三組 rwx 属性数值的相加

同一组的数字是相加!如属性为 [ -rwxrwx--- ] ,则:

owner=rwx=4+2+1=7

group=rwx=4+2+1=7

others = ---  = 0+0+0 = 0

[root@test root]# ls –al .bashrc

-rw-r--r--1rootroot226Feb162002.bashrc

[root@testroot]#chmod777.bashrc

[root@testroot]#ls–al.bashrc

-rwxrwxrwx    1 root     root          226 Feb 16  2002 .bashrc
  方式二 符号类型改变
九个属性分別代表是(1)user (2)group (3)others 三个群组的权限,可以由 u, g, o 來代表三个群组!而 a 则代表 all 亦即全部。
 
chmodu

g

o

a

+(加入)

-(除去)

=(设定)

r

w

x
文件或目录
 
 

[root@test root]# chmod u=rwx,og=rx .bashrc

[root@testroot]#ls–al.bashrc

-rwxr-xr-x    1 root     root          226 Feb 16  2002 .bashrc

[root@test root]# ls –al .bashrc

-rwxr-xr-x1rootroot226Feb162002.bashrc

[root@testroot]#chmoda+w.bashrc

[root@testroot]#ls–al.bashrc

-rwxrwxrwx    1 root     root          226 Feb 16  2002 .bashrc

[root@test root]# chmod a-x .bashrc

[root@testroot]#ls–al.bashrc

-rw-rw-rw-    1 root     root          226 Feb 16  2002 .bashrc
查看文件权限的语句:

在终端输入:

ls -l xxx.xxx (xxx.xxx是文件名)

那么就会出现相类似的信息,主要都是这些:

-rw-rw-r--

一共有10位数

其中: 最前面那个 - 代表的是类型

中间那三个 rw- 代表的是所有者(user)

然后那三个 rw- 代表的是组群(group)

最后那三个 r-- 代表的是其他人(other)

然后我再解释一下后面那9位数:

r 表示文件可以被读(read)

w 表示文件可以被写(write)

x 表示文件可以被执行(如果它是程序的话)

- 表示相应的权限还没有被授予

现在该说说修改文件权限了

在终端输入:

chmod o+w xxx.xxx

表示给其他人授予写xxx.xxx这个文件的权限

chmod go-rw xxx.xxx

表示删除xxx.xxx中组群和其他人的读和写的权限

其中:

u 代表所有者(user)

g 代表所有者所在的组群(group)

o 代表其他人,但不是u和g (other)

a 代表全部的人,也就是包括u,g和o

r 表示文件可以被读(read)

w 表示文件可以被写(write)

x 表示文件可以被执行(如果它是程序的话)

其中:rwx也可以用数字来代替

r ------------4

w -----------2

x ------------1

- ------------0

行动:

+ 表示添加权限

- 表示删除权限

= 表示使之成为唯一的权限

当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:

-rw------- (600) 只有所有者才有读和写的权限

-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限

-rwx------ (700) 只有所有者才有读,写,执行的权限

-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限

-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限

-rw-rw-rw- (666) 每个人都有读写的权限

-rwxrwxrwx (777) 每个人都有读写和执行的权限

<!-- 分页 --><!-- 分页end -->

相关推荐