1.概述
1.1为什么要给文件设置权限?
为了防止未经授权的用户来访问你的文件,可以在文件和目录上设置权限。还可以设定文件 在创建时所具有的缺省权限:这些只是整个系统安全问题中的一小部分。本文只是简单介绍一下文件的权限与安全。
1.2文件有哪些属性?
一个文件包含以下信息,使用ls –l命令,可以查看文件的相关信息:
·文件的权限;
·文件的属主;
·文件的属主所在的缺省组;
·文件的更新时间;
·文件名;
1.3文件的类型?
d 目录。
l 符号链接(指向另一个文件)。
s 套接字文件。
b 块设备文件。
c 字符设备文件。
p 命名管道文件。
- 普通文件,或者更准确地说,不属于以上几种类型的文件。
2.文件的权限
2.1文件的权限分类
一个文件一经 创建,就具有三种访问方式:
1) 读(r),可以显示该文件的内容。
2) 写(w),可以编辑或删除它。
3) 执行(x),如果该文件是一个s h e l l脚本或程序,可以执行该脚本。
按照所针对的用户,文件的权限可分为三类:
1) 文件属主,创建该文件的用户。
2) 同组用户,拥有该文件的用户组中的任何用户。
3) 其他用户,即不属于拥有该文件的用户组的某一用户。
2.2 权限
在上一节中,使用ls –l查看文件的信息,第一项信息是一个长度为10的字符串,这个字符串便是文件的权限设置,其具体含义为:
第一个字符:表示文件的类型;
接下来的三个字符:表示文件属主的权限;
再接下来的三个字符:表示同组用户的权限;
最后三个字符:表示其他用户的权限;
其中:r 表示读权限;w表示写权限;x表示可执行权限;
2.2.1 创建文件
使用命令 touch myfile 创建一个文件,使用ls –l查看该文件的信息:
该文件的权限表示:文件类型属于普通文件,其属主具有读写权限、同组用户具有读写权限、其他用户只有可读权限;值得一提的是,在用户创建文件时,系统默认不会给文件设置执行权限,必须手动修改这一权限
2.2.2 修改文件权限
对于属于你的文件,可以按照自己的需要改变其权限位的设置。可以使用chmod命令来 改变文件权限位的设置。
chmod命令的一般格式为:
chmod [who] operator [permission] filename
其中:
who的含义是:
u 文件属主权限;
g 同组用户权限;
o 其他用户权限;
a 所有用户(文件属主、同组用户及其他用户 )。
operator的含义:
+ 增加权限;
- 取消权限;
= 设定权限;
permission的含义:
r 读权限;
w 写权限;
x 执行权限;
s 文件属主和组set-ID;
t 粘性位*;
l 给文件加锁,使其他用户无法访问。
为file1的属主添加可执行权限:
chmod u+x file1
为file1的同组用户添加可执行权限:
chmod g+x file1
为其他用户添加写权限:
chmod o+w file1
2.2.3 chmod命令的绝对模式
chmod命令绝对模式的一般形式为:
chmod [mode] file
其中mode是一个八进制数。在绝对模式中,权限部分有着不同的含义。每一个权限位用一个八进制数来代表,如表所示:
文件属主 | 同组用户 | 其他用户 |
0400 --r | 0040 --r | 0004 --r |
0200 --w | 0020 --w | 0002 --w |
0100 --x | 0010 --x | 0001 --x |
如:为属主赋予可读可写可执行权限,其mode值为,0400+0200+0100 = 0700;
常见的777权限就是对所有用户否赋予所有权限;
Chmod 777 file1