文件权限里对于x的理解问题[已解决]

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
Saturn_Sun
帖子: 12
注册时间: 2009-02-09 18:57

文件权限里对于x的理解问题[已解决]

#1

帖子 Saturn_Sun » 2009-02-17 18:16

一直对于文件的rwx三个权限比较迷茫,在查阅了很多书及网上的一些文章后基本都是说
r是可读文件的实际内容
w是可以编辑新增或者修改内容
x是该文件有被系统执行的权限
(主要对x比较迷茫)
我在自己的电脑上用root建立了test001,具体属性如下
-rwxrwx-w- 1 root root …… test001
然后进入预设的另外一个账号,对于test001来说我的这个账号只有写的权限,可是为什么我能用vi打开这个文件呢?
难道用vi不算是系统用vi去执行这个文件吗?那这个被系统执行该怎么理解呢?还是x仅仅限于可执行文件呢?
先谢谢各位了…… :em06
上次由 Saturn_Sun 在 2009-02-17 18:47,总共编辑 1 次。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 文件权限里对于x的理解问题

#2

帖子 BigSnake.NET » 2009-02-17 18:27

难道用vi不算是系统用vi去执行这个文件吗
当然不是, 被执行的是 vi, test001 被 vi 读.
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
Saturn_Sun
帖子: 12
注册时间: 2009-02-09 18:57

Re: 文件权限里对于x的理解问题

#3

帖子 Saturn_Sun » 2009-02-17 18:30

BigSnake.NET 写了:
难道用vi不算是系统用vi去执行这个文件吗
当然不是, 被执行的是 vi, test001 被 vi 读.
那是不是普通的文件根本不能被执行,只有可执行文件才能执行的吗??
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: 文件权限里对于x的理解问题

#4

帖子 BigSnake.NET » 2009-02-17 18:40

Saturn_Sun 写了:
BigSnake.NET 写了:
难道用vi不算是系统用vi去执行这个文件吗
当然不是, 被执行的是 vi, test001 被 vi 读.
那是不是普通的文件根本不能被执行,只有可执行文件才能执行的吗??

PS: 这不是废话嘛, 可执行文件才能执行, 非可执行文件不能执行
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: 文件权限里对于x的理解问题

#5

帖子 poet » 2009-02-17 18:46

Saturn_Sun 写了: 然后进入预设的另外一个账号,对于test001来说我的这个账号只有写的权限,可是为什么我能用vi打开这个文件呢?
难道用vi不算是系统用vi去执行这个文件吗?那这个被系统执行该怎么理解呢?还是x仅仅限于可执行文件呢?
对 root 用户来说,所有的权限限制无效。因此不论如何设置权限,root 都可以正常读写。

至于 x ,对于所有文件来说都是执行权限,对于目录来说是进入权限。
Saturn_Sun
帖子: 12
注册时间: 2009-02-09 18:57

Re: 文件权限里对于x的理解问题

#6

帖子 Saturn_Sun » 2009-02-17 18:46

呵呵,这样就清楚了,非常感谢……!!
:em03
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: 文件权限里对于x的理解问题

#7

帖子 poet » 2009-02-17 18:50

Saturn_Sun 写了:
BigSnake.NET 写了:
难道用vi不算是系统用vi去执行这个文件吗
当然不是, 被执行的是 vi, test001 被 vi 读.
那是不是普通的文件根本不能被执行,只有可执行文件才能执行的吗??
Linux 下,所有的文件都可以被执行,具体执行方式如下:

1。根据文件头判断文件的类型,
2。如果是 ELF,PE 等二进制执行文件,则执行其代码。
3。如果是文本文件,则读第一行判断其执行的程序,并用该程序执行该文件。如果第一行不包含执行的程序,则缺省使用 /bin/sh 来执行该文件。
4。如果即不是 ELF 等二进制执行文件,也不是文本文件,则不能执行。

注:执行程序使用格式 #!/bin/bash 之类的格式写。如果你希望你的 某个文本文件被 vi 执行,那么需要在文件的第一行写 #!/bin/vi

这个特性表明:一个脚本并不需要执行权限就可以被执行:例如如果你使用 bash 脚本名,这样执行的是 bash ,脚本被读,只要有读权限。如果你直接执行 ./脚本名,这时就要判断脚本的执行权限。
Saturn_Sun
帖子: 12
注册时间: 2009-02-09 18:57

Re: 文件权限里对于x的理解问题[已解决]

#8

帖子 Saturn_Sun » 2009-02-17 19:55

非常感谢楼上的,呵呵 :em11
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: 文件权限里对于x的理解问题[已解决]

#9

帖子 lerosua » 2009-02-17 20:51

学而时习之 :em11
回复