Linux "ls -l"文件列表权限详解

1.使用 ls -l 命令 执行结果如下(/var/log) :

drwxr-x--- 2 root              adm    4096 2013-08-07 11:03 apache2
drwxr-xr-x 2 root              root   4096 2013-08-07 09:43 apparmor
drwxr-xr-x 2 root              root   4096 2013-08-07 09:44 apt
-rw-r----- 1 syslog            adm   16802 2013-08-07 14:30 auth.log
-rw-r--r-- 1 root              root    642 2013-08-07 11:03 boot.log
drwxr-xr-x 2 root              root   4096 2013-08-06 18:34 ConsoleKit
drwxr-xr-x 2 root              root   4096 2013-08-07 09:44 cups
-rw-r----- 1 syslog            adm   10824 2013-08-07 11:08 daemon.log
drwxr-xr-x 2 root              root   4096 2013-08-07 09:45 dbconfig-common
-rw-r----- 1 syslog            adm   21582 2013-08-07 11:03 debug
drwxr-xr-x 2 root              root   4096 2013-08-07 09:45 dist-upgrade
-rw-r--r-- 1 root              adm   59891 2013-08-07 11:03 dmesg

展示结果大体分为七列(部分) :

以第一条记录为例

第一列 : “drwxr-x---”  表识文件的类型 和文件权限 

第二列: “2”是纯数字 ,表示 文件链接个数

第三列 : “root” 表示文件的所有者 

第四列:“adm” 表示为文件的所在群组 

第五列:“4096”,表示为文件长度(大小)

第六列:“2013-08-07 11:03”,表示文件最后更新(修改)时间

第七列:“apache2” 表示文件的名称


详见下图:

2.文件类型和文件权限 ,即为列表第一列内容:(以第一条记录为例 )

“drwxr-x---” 含义:有两部分组成 ,一部分是第一列即为“d” ,表示文件类型(目录或文件夹),另一部分是“rwxr-x---” 表示文件权限,权限有分为三段:即为 “ rwx ”,“  r-x  ”和 “ ---  ”分别表示 ,文件所有者的权限,文件所属组的权限 和其他用户对文件的权限。

(1)文件类型,大体分为如下几类 :

d :目录 
- :文件 
l :链接 
s :socket 
p :named pipe 
b :block device 
c  :character device


(2)文件权限 :

 r :含义为 “可读”,用数字 4 表示 

 w:含义为 “可写”用数字 2 表示

 X(小X):含义为“可执行”用数字 1 表示

 -:含义为“无权限”用数字0 表示

X (大X):含义为只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。 
s:含义为 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用         户ID位,“g+s”设置组ID位。 
t :含义为保存程序的文本到交换设备上


3.文件权限的更改 :

使用命令 :chmod  文件权限 文件名称 [-R]

命令两种用法 :

(1)直接给文件赋相应的权限即为 :

chmod   a+x  auth.log   #含义为 给 auth.log 文件赋予所有者可执行权限 

(2)使用数字方式代替权限 :

例如 :

chmod 777 auth.log #含义为给auth.log文件赋予任何可读,可写,可执行权限

数字含义详见如下列表:

所有者  群组  其他  三位代表权限的数字
 r w x   rwx   rwx   实际结果
 4 2 1   421   421 777
 4 2 1   4 0 1  4 0 1  705

4.文件所有者的更改 :

命令 chown 用户名 文件,例如 :

chmod mysql auth.log #含义为 把 文件 auth.log 的所有者更改为 mysql

5.文件所在组的更改

命令 chgrp [-R]  群组名称  文件名称

例如 :

chgrp  -R  mysql  apache2  #含义为 ,把 目录apache2 的所在组更改为mysql

 

 


 

没有更多推荐了,返回首页