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 :目录 该文件是一个目录,字母"d",是dirtectory(目录)的缩写.请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文 件夹的相关信息.
- - :文件 该文件是一个普通文件.
- l :链接 该文件是一个符号链接.符号链接的概念类似于windows里的快捷方式.字母"l"是link(链接)的缩写.在UNIX类系统中,一个文件可以有多个文件名, 一个文件的多个文件名之间互称为硬链接(hard link).这些文件头可以指向同一个文件,删除其中一个文件名并不能删除该文件,只有把指向该文 件的所有硬链接都删除,这个文件所占用的空间才真正被释放,该文件才真正被删除.这和windows是有很大区别的,windows中不允许一个文件有 两个以上文件名,如果存在这中情况,则被认为是文件系统错误.如果你以前在windows下玩过DEBUG就知道,可以用DEBUG修改一张软盘上的根 目录,使一个文件同时具有两个文件名.但是修改好后用 scandisk监测的时候会被认为是交叉链接错误.
- s :socket
- p :named pipe
- b :block device 表示块设备文件(block),设备文件是普通文件和程序访问硬件设备的入口,是很特殊的文件.它没有文件大小,只有一个主设备号和 一个辅设备号.上面的hda1就是一个设备文件,具有主设备号3和辅设备号1.表示第一个硬盘第一个分区.
- c :character device 该文件是一个字符设备文件(character),一次传输一个字节的设备被称为字符设备,比如键盘,字符终端等,传输数据的最小单位为 一个字节.一次传输数据为一整块的被称为块设备,比如硬盘,光盘等.最小数据传输单位为一个数据块(通常一个数据块的大小是 512字节).
(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