Linux的文件权限与目录配置

众所周知,Linux是一个多用户、多任务环境。而为了让每个用户具有较保密的文件数据,文件的权限管理就变得很重要了。Linux将文件可读写访问身份分为3个类别:分别说Owner、Group、Others,且3种身份分别具有Read、Write、Execute等权限。

3种身份类别概念:

1.文件所有者(Owner):

假如你有一份文档,上面存放着你的个人详细信息,你不希望除了你之外都任何人可以查看这个文件的内容,那么你就可以将该文件设置成只有文件所有者才可以进行查看与修改。这样,即使他人对你这个文件“很有兴趣”,由于你设置了适当都权限,所以其他人自然也就无法查看了。

2.用户组(Group):

假如主机上现在有两个开发团队,第一个团队名为PA,第二个团队名为PB。每组的成员之间必须能够互相修改对方都数据,但是其他组的成员无法访问本组的文件内容。此时用户组就能派上用场啦,可以将文件权限设置为用户组就能防止其他组成员查看本组都文件里,如果这时老板想要查看,则将老板都的帐号同时支持PA和PB这两个用户组即可。每个帐号都可以有多个用户组的支持。

3.其他人(Others):

假如小王在访问文件A时,A文件并不是小王创建的,而且小王也不在可以访问A文件的用户组里,这时小王对于文件A来说,就属于一个其他人。

关于ROOT:ROOT在Linux中属于最高权限,无视所有权限设置,所以它可以访问、修改和执行所有文件。

Linux文件属性:

切换到 / 目录,执行ll,结果如下所示(这里以Ubuntu系统为例):

$ ll

## 结果如下:
总用量 108
drwxr-xr-x 24 root root 4096 7月 12 14:34 ./
drwxr-xr-x 24 root root 4096 7月 12 14:34 ../
drwxrwxrwx 2 root root 4096 6月 28 14:35 bin/
drwxr-xr-x 3 root root 4096 6月 28 14:35 boot/
drwxr-xr-x 2 root root 4096 6月 28 14:32 cdrom/
drwxr-xr-x 17 root root 4140 7月 12 15:39 dev/
drwxr-xr-x 2 root root 4096 7月 12 14:44 doc/
drwxr-xr-x 134 root root 12288 7月 12 13:19 etc/
drwxr-xr-x 3 root root 4096 6月 28 14:32 home/
…...
…...

下面以 bin/ 这个目录来进行说明:

drwxrwxrwx 2 root root 4096 6月 28 14:35 bin/

第一个字母代表的意义:

d:表示 bin/ 为目录;
-: 表示 bin/ 为文件;
l: 表示 bin/ 为连接文件(类似Windows中都快捷方式);
b:表示 bin/ 为设备文件里面的可供存储的接口设备;
c:表示 bin/ 为设备文件里面都串行串行端口设备,例如键盘、鼠标;


9个字符代表了该文件/目录对于3种身份各自的权限:

前面3个:文件所有者的权限;
中间3个:同一用户组的权限;
最后3个:其他人的权限;


由9个字符可知: bin/ 目录默认都权限为:

文件所有者 | 同一用户组 | 其他人 都可以对该目录进行 读 | 写 | 执行的操作。
第二列表示有多少文件名连接到此节点。
第三列表示这个文件/目录的所有者帐号,由结果可知 bin/ 所有者为root。
第四列表示这个文件/目录都所属用户组,由结果可知 bin/ 用户组也是 root。
第五列表示这个文件的容量大小,默认单位为B。
第六列表示这个文件/目录都创建日期或者是最近修改日期。
PS:第六列的内容分别为日期(月/日)和时间。如果这个文件被修改的时间距离现在太久了,那么时间部分仅会显示年份而已。
第七列表示文件名称。

PS:如果文件名称前面多一个 . ,则表示这个文件为隐藏文件。

如何改变文件属性与权限?

##chgrp:改变文件所属用户组。
chgrp -[R] groupname dirname / filename

##chown:改变文件所有者。
chown [-R] username dirname / filename

##chmod:改变文件的权限。
chmod 777 filename	

设置权限的方法有两种:数字和符号,这里说一下数字设置。上面谈到Linux中权限分为9个,分别是 Owner、Group、Others 三种身份分别对应各自的 Read、Write、Execute 权限,对照表如下:

Read : r : 4
Write : w : 2
Execute : x : 1

假设我们现在要将文件 test.txt 的属性设置为文件所有者拥有全部权限,文件用户组拥有读写权限,其他人拥有读取权限,那么最终的权限数字计算公式如下:

文件所有者全部权限:4 + 2 + 1 = 7;
文件用户组读写权限:4 + 2 = 6;
其他人只有读取权限:4;

所以,最终的权限数字为:764,每种权限属性对应的数字要牢记心中。

Linux文件种类与扩展名

  • 文件种类:
    • 普通文件
    • 纯文本文件
    • 二进制文件
    • 数据格式文件
    • 目录
    • 连接文件
    • 设备与设备文件
    • 块设备文件
    • 字符设备文件
    • 套接字
    • 管道
  • 常用文件扩展名
    • *.sh : 脚本或批处理文件
    • *.z *.tar *.tar.gz *.zip *z.tgz : 经过打包都压缩文件
    • *.html *.php : 网页相关文件
  • 文件长度限制
    • 单一文件或目录都最大长度为255个字符
    • 包含完整路径及目录名称都文件最大长度为4096个字符

文章内容参考书籍:《鸟哥的linux私房菜》

posted @ 2015-12-30 17:04  洋芋土豆  阅读(2119)  评论(0编辑  收藏  举报