一直对于文件的rwx三个权限比较迷茫,在查阅了很多书及网上的一些文章后基本都是说
r是可读文件的实际内容
w是可以编辑新增或者修改内容
x是该文件有被系统执行的权限
(主要对x比较迷茫)
我在自己的电脑上用root建立了test001,具体属性如下
-rwxrwx-w- 1 root root …… test001
然后进入预设的另外一个账号,对于test001来说我的这个账号只有写的权限,可是为什么我能用vi打开这个文件呢?
难道用vi不算是系统用vi去执行这个文件吗?那这个被系统执行该怎么理解呢?还是x仅仅限于可执行文件呢?
先谢谢各位了……
文件权限里对于x的理解问题[已解决]
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
-
- 帖子: 12
- 注册时间: 2009-02-09 18:57
文件权限里对于x的理解问题[已解决]
上次由 Saturn_Sun 在 2009-02-17 18:47,总共编辑 1 次。
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: 文件权限里对于x的理解问题
当然不是, 被执行的是 vi, test001 被 vi 读.难道用vi不算是系统用vi去执行这个文件吗
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
- 帖子: 12
- 注册时间: 2009-02-09 18:57
Re: 文件权限里对于x的理解问题
那是不是普通的文件根本不能被执行,只有可执行文件才能执行的吗??BigSnake.NET 写了:当然不是, 被执行的是 vi, test001 被 vi 读.难道用vi不算是系统用vi去执行这个文件吗
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: 文件权限里对于x的理解问题
对Saturn_Sun 写了:那是不是普通的文件根本不能被执行,只有可执行文件才能执行的吗??BigSnake.NET 写了:当然不是, 被执行的是 vi, test001 被 vi 读.难道用vi不算是系统用vi去执行这个文件吗
PS: 这不是废话嘛, 可执行文件才能执行, 非可执行文件不能执行
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
Re: 文件权限里对于x的理解问题
对 root 用户来说,所有的权限限制无效。因此不论如何设置权限,root 都可以正常读写。Saturn_Sun 写了: 然后进入预设的另外一个账号,对于test001来说我的这个账号只有写的权限,可是为什么我能用vi打开这个文件呢?
难道用vi不算是系统用vi去执行这个文件吗?那这个被系统执行该怎么理解呢?还是x仅仅限于可执行文件呢?
至于 x ,对于所有文件来说都是执行权限,对于目录来说是进入权限。
-
- 帖子: 12
- 注册时间: 2009-02-09 18:57
Re: 文件权限里对于x的理解问题
呵呵,这样就清楚了,非常感谢……!!
-
- 帖子: 2841
- 注册时间: 2006-09-11 22:47
Re: 文件权限里对于x的理解问题
Linux 下,所有的文件都可以被执行,具体执行方式如下:Saturn_Sun 写了:那是不是普通的文件根本不能被执行,只有可执行文件才能执行的吗??BigSnake.NET 写了:当然不是, 被执行的是 vi, test001 被 vi 读.难道用vi不算是系统用vi去执行这个文件吗
1。根据文件头判断文件的类型,
2。如果是 ELF,PE 等二进制执行文件,则执行其代码。
3。如果是文本文件,则读第一行判断其执行的程序,并用该程序执行该文件。如果第一行不包含执行的程序,则缺省使用 /bin/sh 来执行该文件。
4。如果即不是 ELF 等二进制执行文件,也不是文本文件,则不能执行。
注:执行程序使用格式 #!/bin/bash 之类的格式写。如果你希望你的 某个文本文件被 vi 执行,那么需要在文件的第一行写 #!/bin/vi
这个特性表明:一个脚本并不需要执行权限就可以被执行:例如如果你使用 bash 脚本名,这样执行的是 bash ,脚本被读,只要有读权限。如果你直接执行 ./脚本名,这时就要判断脚本的执行权限。
-
- 帖子: 12
- 注册时间: 2009-02-09 18:57
Re: 文件权限里对于x的理解问题[已解决]
非常感谢楼上的,呵呵
- lerosua
- 论坛版主
- 帖子: 8455
- 注册时间: 2007-11-29 9:41
- 联系:
Re: 文件权限里对于x的理解问题[已解决]
学而时习之