《LINUX与UNIX SHELL编程指南》001文档格式.docx
- 文档编号:15294427
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:25
- 大小:136.03KB
《LINUX与UNIX SHELL编程指南》001文档格式.docx
《《LINUX与UNIX SHELL编程指南》001文档格式.docx》由会员分享,可在线阅读,更多相关《《LINUX与UNIX SHELL编程指南》001文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
2)同组用户,拥有该文件的用户组中的任何用户。
3)其他用户,即不属于拥有该文件的用户组的某一用户。
1.1文件
当你创建一个文件的时候,系统保存了有关该文件的全部信息,包括:
•文件的位置。
•文件类型。
•文件长度。
•哪位用户拥有该文件,哪些用户可以访问该文件。
•i节点。
•文件的修改时间。
•文件的权限位。
让我们使用ls-l命令,来看一个典型的文件:
2第一部分shell
下面让我们来分析一下该命令所得结果的前面两行,看看都包含了哪些信息:
total4232:
这一行告诉我们该目录中所有文件所占的空间。
-rwxr-xr-x:
这是该文件的权限位。
如果除去最前面的横杠,这里一共是9个字符,他们分别对应9个权限位。
通过这些权限位,可以设定用户对文件的访问权限。
这9个字符可以分为三组:
rwx:
文件属主权限这是前面三位
r-x:
同组用户权限这是中间三位
其他用户权限这是最后三位后面我们还将对这些权限位作更详细的介绍。
出现在r、w、x位置上的横杠表示相应的访
问权限被禁止。
1该文件硬链接的数目。
root文件的属主。
root文件的属主root所在的缺省组(也叫做root)。
3578用字节来表示的文件长度,记住,不是K字节!
Oct1404:
44文件的更新时间。
dmesg文件名。
1.2文件类型
还记得前面一节所提到的文件权限位前面的那个字符吗?
我们现在就解释一下这个横杠所代表的意思,文件类型有七种,它可以从ls-l命令所列出的结果的第一位看出,这七种类型是:
d目录。
l符号链接(指向另一个文件)。
s套接字文件。
b块设备文件。
c字符设备文件。
p命名管道文件。
-普通文件,或者更准确地说,不属于以上几种类型的文件。
1.3权限
让我们用touch命令创建一个文件:
$touchmyfile
现在对该目录使用ls-l命令:
第1章文件安全与权限3
我们已经创建了一个空文件,正如我们所希望的那样,第一个横杠告诉我们该文件是一
个普通文件。
你将会发现所创建的文件绝大多数都是普通文件或符号链接文件(后面将会出现更多的符号链接文件)。
文件属主权限组用户权限其他用户权限
rw-r--r—接下来的三个权限位是文件属主所具有的权限;
再接下来的三位是与你同组用户所具有
的权限,这里是admin组;
最后三位是其他用户所具有的权限。
在该命令的结果中,我所属于的缺省组也显示了出来。
下面是对该文件权限的精确描述:
表1-1ls-l命令输出的含义
(第一个字符)-普通文件(接下来的三个字符)rw-文件属主的权限(再接下来的三个字符)r--同组用户的权限(最后三个字符)r--其他用户的权限
因此,这三组字符(除了第一个字符)分别定义了:
1)文件属主所拥有的权限。
2)文件属主缺省组(一个用户可以属于很多的组)所拥有的权限。
3)系统中其他用户的权限。
在每一组字符中含有三个权限位:
r读权限
w写/更改权限
-
rw-
r--
文件类型为普通文件
文件属主可以读、写
同组用户可以读
其他用户可以读
x执行该脚本或程序的权限这里我们采用另外一种方式来表示刚才所列出myfile的文件权限:
你可能已经注意到了,myfile在创建的时候并未给属主赋予执行权限,在用户创建文件时,
系统不会自动地设置执行权限位。
这是出于加强系统安全的考虑。
必须手工修改这一权限位:
后面讲到umask命令时,你就会明白为什么没有获得执行权限。
然而,你可以针对目录设置执行权限位,但这与文件执行权限位的意义有所不同,这一点我们将在后面讨论。
上面这段关于权限位的内容可能不太好理解,让我们来看几个例子(见表1-2)。
更令人迷惑的是,对于文件属主来说,在只有读权限位被置位的情况下,仍然可以通过
文件重定向的方法向该文件写入。
过一会儿我们就会看到,能否删除一个文件还依赖于该文件所在目录权限位的设置。
表1-2文件权限及含义
权限所代表的含义
r--------文件属主可读,但不能写或执行
r--r-----文件属主和同组用户(一般来说,是文件属主所在的缺省组)可读
r--r--r--任何用户都可读,但不能写或执行
rwxr--r--文件属主可读、写、执行,同组用户和其他用户只可读
rwxr-x---文件属主可读、写、执行,同组用户可读、执行
4第一部分shell
(续)
权限
所代表的含义
rwxr-xr-xrw-rw----rw-rw-r--rw-rw----
文件属主可读、写、执行,同组用户和其他用户可读、执行文件属主和同组用户可读、写文件属主和同组用户可读、写,其他用户可读文件属主和同组用户及其他用户读可以读、写,慎用这种权限
设置,因为任何用户都可以写入该文件
1.4改变权限位
对于属于你的文件,可以按照自己的需要改变其权限位的设置。
在改变文件权限位设置之前,要仔细地想一想有哪些用户需要访问你的文件(包括你的目录)。
可以使用chmod命令来改变文件权限位的设置。
这一命令有比较短的绝对模式和长一些的符号模式。
我们先来看一看符号模式。
1.4.1符号模式
chmod命令的一般格式为:
chmod[who]operator[permission]filename
who的含义是:
u文件属主权限。
g同组用户权限。
o其他用户权限。
a所有用户(文件属主、同组用户及其他用户)。
operator的含义:
+增加权限。
-取消权限。
=设定权限。
permission的含义:
r读权限。
w写权限。
x执行权限。
s文件属主和组set-ID。
t粘性位*。
l给文件加锁,使其他用户无法访问。
u,g,o针对文件属主、同组用户及其他用户的操作。
*在列文件或目录时,有时会遇到“t”位。
“t”代表了粘性位。
如果在一个目录上出现“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个同组用户具有和属主同等的权限。
不过有的系统在这一规则上并不十分严格。
如果在文件列表时看到“t”,那么这就意味着该脚本或程序在执行时会被放在交换区(虚存)。
不过由于当今的内存价格如此之低,大可不必理会文件的“t”的使用。
第1章文件安全与权限5
1.4.2chmod命令举例
现在让我们来看一些使用chmod命令的例子。
假定myfile文件最初具有这样的权限:
rwxrwxrwx:
命令结果含义
chmoda-xmyfile
rw-rw-rw-
收回所有用户的执行权限
chmodog-wmyfile
rw-r--r--
收回同组用户和其他用户的写权限
chmodg+wmyfile
rw-rw-r--
赋予同组用户写权限
chmodu+xmyfile
rwxrw-r--
赋予文件属主执行权限
chmodgo+xmyfile
rwxrwxr-x
赋予同组用户和其他用户执行权限
当创建myfile文件时,它具有这样的权限:
如果这是我写的一个脚本,我希望能够具有执行权限,并取消其他用户(所有其他用户)
的写权限,可以用:
$chmodu+xo-wmyfile
这样,该文件的权限变为:
现在已经使文件属主对myfile文件具有读、写执行的权限,而admin组的用户对该文件具有读权限。
如果希望某个脚本文件对你自己来说可执行,而且你对该文件的缺省权限很放心,那么只要使它对你来说具有执行权限即可。
$chmodu+xdt
1.4.3绝对模式chmod命令绝对模式的一般形式为:
chmod[mode]file
其中mode是一个八进制数。
在绝对模式中,权限部分有着不同的含义。
每一个权限位用一个八进制数来代表,如表
1-3所示。
表1-3八进制目录/文件权限表示
八进制数含义八进制数含义
0400文件属主可读0010同组用户可执行
0200文件属主可写0004其他用户可读
0100文件属主可执行0002其他用户可写
0040同组用户可读0001其他用户可执行
0020同组用户可写
在设定权限的时候,只需按照表1-3查出与文件属主、同组用户和其他用户所具有的权限相对应的数字,并把它们加起来,就是相应的权限表示。
从表1-3中可以看出,文件属主、同组用户和其他用户分别所能够具有的最大权限值就是7。
6第一部分shell
再来看看前面举的例子:
相应的权限表示应为644,它的意思就是:
0400+0200(文件属主可读、写)=0600
0040(同组用户可读)=0040
0004(其他用户可读)=0004
0644
有一个计算八进制权限表示的更好办法,如表1-4所示:
表1-4计算权限值
文件属主
同组用户
其他用户
rwx
4+2+1
使用表1-4,可以更容易地计算出相应的权限值,只要分别针对文件属主、同组用户和其他用户把相应权限下面的数字加在一起就可以了。
myfile文件具有这样的权限:
rw-r--r--
4+244
把相应权限位所对应的值加在一起,就是644。
1.4.4chmod命令的其他例子
以下是一些chmod命令绝对模式的例子:
命令结果含义
chmod666
赋予所有用户读和写的权限
chmod644
赋予所有文件属主读和写的权限,所有其他用户读权限
chmod744
rwxr--r--
赋予文件属主读、写和执行的权限,所有其他用户读的权限
chmod664
赋予文件属主和同组用户读和写的权限,其他用户读权限
chmod700
rwx---
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LINUX与UNIX SHELL编程指南 LINUX与UNIX SHELL编程指南001 LINUX UNIX SHELL 编程 指南 001