33558 www.cn blogs.com/avril/archive/2010/03/23/1692809.html html
Linux系统上的所有文件和目录都具有访问权限,用于查看谁可以访问和操作文件和目录。
或目录的访问权限分为只读、只写和可执行三种类型。 对于文件,只读权限表示只允许读取内容,禁止修改操作。 可执行权限是指允许文件作为程序运行。 创建文件后,文件的所有者将自动对该文件具有可读取、写入和执行的权限,从而使文件更容易读取和修改。 如果需要,用户还可以为任何所需的组合设置访问权限。
三种类型的用户可以访问文件或目录:文件的所有者、同一组的用户和其馀用户。 通常,所有用户都是文档的作者。 所有用户都可以允许同一组中的用户访问文件,也可以授予系统中其他用户对文件的访问权限。 在这种情况下,系统中的所有用户都可以访问该用户拥有的文件或目录。
每个文件或目录的访问权限有三个组,每个组由三位表示,分别是文件所有者的读取、写入和执行权限。 读取、写入和执行与所有者属于同一组的用户的权限系统中其他用户的读取、写入和执行权限。 使用ls -l命令显示文件或目录的详细信息时,最左边的列是对文件的访问权限。 例如:
$ ls -l sobsrc. tgz
- rw-r---r----1root root 483997 ju1l 517:3 lsobsrc.tgz
横线表示允许空。 r表示只读,w表示写,x表示可执行。 请注意这里共有10个位置。 第一个字符指定文件类型。 从一般意义上说,目录也是文件。 如果第一个字符是水平线,则表示它是目录以外的文件。 在d的情况下,表示是目录。
例如:
- rw- r-- r--
普通文件主体组用户的其余用户
是对sobsrc.tgz文件的访问权限,而sobsrc.tgz是常规文件。 sobsrc.tgz的所有者具有读写权限; 与sobsrc.tgz所有者属于同一组的用户只有读取权限; 剩下的用户也只有阅读的权限。
在授予访问文件的权限后,用户可以使用Linux系统提供的chmod命令设置新的访问权限。 也可以使用chown命令修改某个文件或目录中的所有用户。 使用chgrp命令修改文件或目录中的用户组。
分别介绍这些命令。
chmod命令
chmod命令对于更改对文件或目录的访问权限很重要。 使用它来控制对文件或目录的访问。
这个命令有两种使用方法。 一种是包括字母和操作符表达式的字符设置法; 另一种是包含数字的数字设定方法。
1 .文字设定法
chmod [who] [ | - |=] [mode]文件名
命令中的每个选项的含义如下:
操作对象世卫组织是以下字符之一或它们的组合:
u表示“用户”,即文件或目录中的所有人。
g表示“相同组”,即与文件所有者具有相同组ID的所有用户。
o表示“其他(others )用户”。
a代表“所有(所有)”用户。 这是系统的默认值。
操作符号如下所示。
添加权限。
-取消权限。
=赋予所赋予的权限,取消剩下的所有权限。
要设置mode表示的权限,可以使用以下字符的任意组合:
能读r。
w可写。
x可以执行。
只有在目标文件对特定用户可用或目标文件是目录时,才会添加x属性。
在运行s文件时将进程的所有者或组ID设置为该文件的文件所有者。 方式“u s”设定文件的用户ID位,“g s”设定组ID位。
t将程序文本保存到开关设备上。
u具有与文件所有者相同的权限。
g与文件所有者在同一组中的用户具有相同的权限。
o与其余用户具有相同的权限。
文件名:要更改权限的文件列表,以空格分隔,支持通配符。
在命令行中,可以指定多个权限,用逗号分隔。 例如,chmod g r,o r example
使该组及其雄辩的用户具有对文件example的读取权限。
2 .数字设定法
你必须首先理解用数字表示的属性的含义。 0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,并将它们相加。 因此,数字属性的格式必须为三个八进制数字(从0到7,其顺序为(u ) ) ) g ) ) o )。
例如,要使一个文件的所有者具有“读/写”两种权限,它必须为4 (可读)2(可写)=6(读/写)。
数字设定方法的一般形式如下。
chmod [mode]文件名
示例:
(1)文字设定法:
示例1:$ chmod a x sort
也就是说,配置文件sort的属性如下:
文件所有者(u )扩展执行权限
与文件所有者属于同一组的用户(g )增加执行权限
其余用户(o )增加执行权限
示例2:$ chmod ug w,o-x text
p>即设定文件text的属性为:
文件属主(u) 增长写权限
与文件属主同组用户(g) 增长写权限
其余用户(o) 删除执行权限
例3:$ chmod u+s a.out
假设执行chmod后a.out的权限为(能够用ls – l a.out命令来看):
–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
而且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”,即该文件只有其属主具备读写权限。
当其余用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(因为chmod命令中使用了s选项),因此他就可以读取shiyan1.c这个文件(虽然这个文件被设定为其余人不具有任何权限),这就是s的功能。
所以,在整个系统中特别是root自己,最好不要过多的设置这种类型的文件(除非必要)这样能够保障系统的安全,避免由于某些程序的bug而使系统遭到入侵。
例4:$ chmod a–x mm.txt
$ chmod –x mm.txt
$ chmod ugo–x mm.txt
以上这三个命令都是将文件mm.txt的执行权限删除,它设定的对象为全部使用者。
(2)数字设定法:
例1: $ chmod 644 mm.txt
$ ls –l
即设定文件mm.txt的属性为:
-rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt
文件属主(u)inin 拥有读、写权限
与文件属主同组人用户(g) 拥有读权限
其余人(o) 拥有读权限
例2: $ chmod 750 wch.txt
$ ls –l
-rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
即设定wchtxt这个文件的属性为:
文件主本人(u)inin 可读/可写/可执行权
与文件主同组人(g) 可读/可执行权
其余人(o) 没有任何权限
chgrp命令
功能:改变文件或目录所属的组。
语法:chgrp [选项] group filename¼
该命令改变指定指定文件所属的用户组。其中group能够是用户组ID,也能够是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。若是用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
- R 递归式地改变指定目录及其下的全部子目录和文件的属组。
例1:$ chgrp - R book /opt/local /book
改变/opt/local /book/及其子目录下的全部文件的属组为book。
chown 命令
功能:更改某个文件或目录的属主和属组。这个命令也很经常使用。例如root用户把本身的一个文件拷贝给用户xu,为了让用户xu可以存取这个文件,root用户应该把这个文件的属主设为xu,不然,用户xu没法存取这个文件。
语法:chown [选项] 用户或组 文件
说明:chown将指定文件的拥有者改成指定的用户或组。用户能够是用户名或用户ID。组能够是组名或组ID。文件是以空格分开的要改变权限的文件列表,支持通配符。
该命令的各选项含义以下:
- R 递归式地改变指定目录及其下的全部子目录和文件的拥有者。
- v 显示chown命令所作的工做。
例1:把文件shiyan.c的全部者改成wang。
$ chown wang shiyan.c
例2:把目录/his及其下的全部文件和子目录的属主改为wang,属组改为users。
$ chown - R wang.users /his安全