linux目录上的读写执行权限和普通文件有所不同

上一篇 / 下一篇  2013-02-20 21:58:42 / 个人分类:Linux 学习

1. 首先了解一个ls -l 文件的每列含义
[root@Test-Server ~]# ls -l 1.txt 首先了解一个ls -l 文件的每列含义
[root@Test-Server ~]# ls -l 1.txt
-rwxr-xr-x 1 root roy 0 Feb 21 05:47 1.txt
下面介绍每列含义:
(1)第一列:文件类型和权限,这部分稍后重点介绍,见后a
(2)第二列:文件硬链接数或目录子目录数,如果一个文件不是目录那么这一字段表示,这个文件所具有的硬链接数;如果是一个目录,则这个字段表示该目录所含子目录的个数
(3)第三列:文件的属主,即文件的所有者,有时候我们将一个文件复制给另一用户,要记得将文件的属主也要改变,否则可能会发生文件权限不对的错误。
(4)第四列:文件的属组,即文件的所属组,即在此组里的用户对文件有拥有不同的权限。
(5)第五列:文件的大小,大小以字节显示。
(6)第六列:最近一次文件内容的修改时间。
(7)第七列:文件或者目录名。
 a
 -rwxr-xr-x
第一列为第一部分,代表了文件的类型,文件的类型主要有以下几种:
(1)-表示是普通文件
(2)d表示是目录
(3)l表示是软链接文件
(4)b表示是块设备文件,例如硬盘的存储设备等
(5)c表示是字符设备文件,如键盘等
(6)s表示是套接字文件,此主要跟网络程序有关
(7)p表示是管道文件
第二列至第十列为第二部分,这部分一共9列,每三列为一组,共分为三组,由左至右分别代表了属主的权限,属组的权限,其他人的权限
root(属主)用户对1文件拥有可读(r)可写(w)执行(x)权限。
roy(属组)组里的用户对1文件拥有可读和执行权限。
既不是root用户也不属于roy组的其他用户对文件拥有可读和执行权限 。

2.详细解释文件和目录的读写执行权限
2.1 文件的存取权限
    读权限(r)表示只允许指定用户读取相应文件的内容,而禁止对它做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如cat、more等。
    写权限(w)表示允许指定用户打开并修改文件。例如命令vi、cp等。
    执行权限(x)表示允许指定用户将该文件作为一个程序执行。
2.2 目录的存取权限
   读权限(r)表示可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许Shell使用文件扩展名列出相匹配的文件名。
如: 权限都有:
[root@Test-Server /]# chmod 777 test
[root@Test-Server /]# ls -ld test
drwxrwxrwx 2 root root 4096 Feb 21 05:33 test
[root@Test-Server /]# su - roy
[roy@Test-Server ~]$ cd /test
[roy@Test-Server test]$ ls
[roy@Test-Server test]$ touch 1.txt
[roy@Test-Server test]$ ls
1.txt

   写权限(w)表示允许用户从目录中删除或添加新的文件,通常只有文件主才有写权限。单独使用没有作用,与执行权限连用可以在目录中删除和添加文件
如:test 目录没有写权限
[root@Test-Server ~]# chmod 775 /test
[root@Test-Server ~]# ls -ld /test
drwxrwxr-x 2 root root 4096 Feb 21 05:35 /test
[root@Test-Server ~]# su - roy
[roy@Test-Server ~]$ ls -ld /test
drwxrwxr-x 2 root root 4096 Feb 21 05:35 /test
[roy@Test-Server ~]$ cd /test
[roy@Test-Server test]$ ls
1.txt
[roy@Test-Server test]$ touch 2.txt
touch: cannot touch `2.txt': Permission denied
[roy@Test-Server test]$ rm -f 1.txt
rm: cannot remove `1.txt': Permission denied

   执行权限(x)表示允许用户在目录中查找,并能用cd命令将工作目录改到该目录。
如:test 目录没有执行权限
[root@Test-Server ~]# chmod 776 /test
[root@Test-Server ~]# su - roy
[roy@Test-Server ~]$ ls -ld /test
drwxrwxrw- 2 root root 4096 Feb 21 05:35 /test
[roy@Test-Server ~]$ cd /test
-bash: cd: /test: Permission denied
[roy@Test-Server ~]$ echo "hello"> /test/2.txt
-bash: /test/2.txt: Permission denied





TAG:

 

评分:0

我来说两句

Open Toolbar