在介绍Linux文件权限之前我先介绍一些重要的概念。
1.文件所有者
Linux是一个多用户多任务的操作系统。因此经常会出现有多人使用这台主机进行工作的情况。为了考虑每个人的隐私权,每个文件都有自己的权限。例如你收到了一份文件,但是不想背别人看见你就可以把文件修改成只有你这个用户可以读写。
2.用户组
当你的团队在一台主机上开发项目时,另一组也在这台主机上工作。两组有竞争关系,此时应该怎么办呢?这里就要用到用户组的概念。这样既可以保持用户的隐私,也可以保证团队的协作。
Linux文件权限概念
======
在进入一个目录之后,可以输入以下命令
ls -al
你可以得到七列信息
第一列代表了这个文件的权限与类型。例如:
-rw-r--r--
第一个字母代表文件的类型。,后面九个字符,分为三组。第一组是文件所有者的权限。第二组是同用户组的权限,第三组是其他非本用户组的权限。其中r代表可读,w代表可写,e代表可执行。
第二列表示有多少文件名连接到此节点
Linux的文件系统i-node记录了每个文件的权限与属性。而目录树却使用文件名记录。因此每个文件都会连接到一个i-node。这个属性就记录了多少文件名连接到一个相同的i-node。
第三列表示这个文件的所有者。
第四列表示文件所属的用户组。一个账号可以属于多个用户组,所有的用户组的权限是相同的。
第五列为文件大小,以B为单位。
第六列为这个文件最近修改的日期。
第七列为该文件的文件名
如何改变文件属性与权限
==================
1.改变所属用户组
chgrp [-R] dirname/filename
-R命令可以递归的持续修改,即可以修改目录下的字文件
2.改变文件所有者
chown [-R] user dirname/filename
3.改变权限
chmod [-R] xyz dirname/filename
xyz是三个数字,分别代表owner、group、others三种身份的权限,其中r权限代表4,w权限代表2,e权限代表1,每种身份的权限由三种权限分数累加而成。
还有另一种使用方法,例如:
chmod u=rwx,go=ex /etc
如果想全部人加上可写权限
chmod a+w /etc
chmod a-w /etc