写在最前:由于自己是个初学者,这里并不想针对UNIX系统安全问题进行方方面面的讨论,当然自己也说不清楚,只是简
单介绍下文件和目录的安全问题,以便后面的命令展开。
1.1 文件的权限
首先,在UNIX系统中一个文件一旦创建,它就具有三种访问方式:
(1)读,可以显示文件的内容。
(2)写,可以编辑或者删除。
(3)执行,如果该文件是一个shell脚本或者是程序。
按照所针对文件的用户,文件的权限可以分为三种:
(1)属主用户,创建该文件的用户。
(2)同组用户,拥有该文件同组的其它用户。
(3)其他用户,不属于该文件组的其它用户。
用命令 ls -al 得到的文件如下:
这里针对第一行打印的信息进行分析:
total 202 表示该目录所有文件所占空间的大小,这里不是文件的数目。
drwxr-xr-x:这是该文件的权限位。如果除去最前面的字母d,这里一共是9个字符,他们分别对应9个权限位。通过这些权限位,可以设定用户对文件的访问权限。这9个字符可以分为三组,每组为3个字符:
rwx:文件属主的权限位
r-x:同组用户的权限位
r-x:其他用户的权限位
这里“-”的含义代表该权限被禁止,r、w、x 分别代表可读、可写、可执行。
21:该文件硬链接的数目 (UNIX中硬连接和软连接,硬链接是相当于文件的别名,软连接相当于WINDOWS下的快捷方式具体的大家上网搜吧!^_^)。
root:文件的属主
root:文件的属主所在的用户组(root用户缺省用户组为root)
8192:文件的大小,这里的度量单位是字节而不是K哈,o(∩_∩)o...(汗、我在这上面吃过亏哈)
下面的就是时间和名字,简单的不说了。
1.2 文件的类型
对于UNIX文件和文件夹都是作为文件来对待的,只不过文件夹是文件的一个类型(这个是我的理解,不对的大家可以拍砖),文件的类型主要有一下几种:
d 目录。
l 符号链接(指向另一个文件)。
s 套接字文件。
b 块设备文件。
c 字符设备文件。
p 命名管道文件。
- 普通文件,或者更准确地说,不属于以上几种类型的文件。
1.3 文件权限操作的命令介绍
首先提下,文件刚创建的时候没有可执行权限即r(包括文件的属主在内),这个出于对系统安全的考虑,因此必须手工修改这一权限位。
改变文件的权限有chmod命令,这一命令有比较短的绝对模式和长一些的符号模式
符合模式:chmod [who] operator [permission] filename
w h o的含义是:
u 文件属主权限。
g 同组用户权限。
o 其他用户权限。
a 所有用户(文件属主、同组用户及其他用户)。
o p e r a t o r的含义:
+ 增加权限。
- 取消权限。
= 设定权限。
p e r m i s s i o n的含义:
r 读权限。
w 写权限。
x 执行权限。
s 文件属主和组s e t - I D。
t 粘性位*。
l 给文件加锁,使其他用户无法访问。
u,g,o 针对文件属主、同组用户及其他用户的操作。
*在列文件或目录时,有时会遇到“ t”位。“t”代表了粘性位。如果在一个目录上出现
“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个同组用户具有和属主
同等的权限。不过有的系统在这一规则上并不十分严格。
(待续)