一、用户与用户组
Linux是一个真正的多用户的操作系统,也就是可以同时多人操作一台主机(你认为它是一台电脑就可以了),由于同时操作一台主机,如果不设定一定的权限,可能造成主机的混乱,所以,每个用户都有不同的权限,由一个管理员来统一管理。
因为linux中的设备、软件等都是以文件形式存在的,所以用户的权限主要是相对于操作文件的权限。根据权限我们可以把用户分成三类:
(1)用户(user):即文件所有者,如创建文件的那个人肯定是文件所有者。
(2)用户组(group):即用户组,即文件所属的用户组,默认情况是文件创建者所在的用户群组。
(3)其他人(other):除用户和用户组之外的人,可以说与文件没有半毛钱关系的人。
另外有一个超人root,是系统超级管理员,对所有文件均有操作权限。
举一个例子:
如某大学中文系072班,任课老师让大学写一篇文章:比如,李某的文章
这篇文章可以看作系统中的 一个文件:
那这篇文章所有者是文章的作者:如李某。
假如说这篇文章可以让中文系072班所有的同学查看等操作,那这就形成的一个无形的群组(可以查看这篇文章的一群人),那就是这篇文章支持的用户组
假如这篇文章不可以让除中文系之外的同学看,那么这部分不能看的人可以叫其他人。
因为任课老师可以阅读,批复所有其授课班级学生的文章,所以他可以被看作是管理员(理论上他可以对这些文章做任何处理,实际上可能由于隐私等不能).
二、文件与目录权限
文件与目录都有三种权限:读、写、执行
1、文件权限:文件权限只针对文件内容。
读(r):读取文件内容
写(w):向文件写入内容
执行(x):执行文件(比如执行一个shell脚本,命令行下执行一个php脚本,都需要有执行权限)
2、目录权限:
读:读取目录内容(读取目录下的文件名及目录信息)
写:对目录内容进行操作,如修改文件名、删除文件、移动目录、删除目录等
执行:进入该目录的权限
权限可以用数学数字来表示:
r:4
w:2
x:1
三、操作文件权限及文件所属用户及用户组命令
ls:查看文件(或目录)权限以及文件(或目录)的所属用户及用户组(list的缩写)
用法:ls [-adl] 文件或目录
ls 不带任何参数和文件或目录名,表示列出当前目录所有文件名(不包括隐藏文件)
ls -a 列出当前目录所有文件名(包括隐藏文件)
ls -l 列出当前目录所有文件的详细信息(包括文件类型、文件所属用户及用户组,文件权限等)
ls -d 仅列出目录信息,不列出目录中文件信息
ls -l /home 列出/home文件夹下文件详细信息:运行结果:
1 [root@localhost home]# ls -l /home 2 总计 48 3 drwx------ 4 admin admin 4096 11-15 21:00 admin 4 drwx------ 6 dev dev 4096 11-16 10:47 dev 5 drwx------ 4 ec_admin ec_admin 4096 10-08 11:59 ec_admin 6 drwx------ 2 root root 16384 09-29 21:06 lost+found 7 drwxr-xr-x 4 root root 4096 11-15 09:36 test
我们可以看到:每一行代表一个文件或目录
我们看一下最后一行(第7行)的数据:这些数据对于初学者来说可能有点乱,听我细说一下:你可以根据空格来把它分成八段
第一段:drwxr-xr-x:共十个字符
第一个字符代表文件类型,这里这个文件是目录
后面这九个字符代表用户、用户组、其他人对这个文件的操作权限,用户对目录的操作权限是rwx即读写执行权限都有,用户组和其他人对这个目录的操作权限是r-x即用户组和其他人对这个目录的权限是读和执行
第二段:4 代表有多少个文件连接到这个目录
第三段:root 代表这个文件的所有者是root
第四段:root代表这个文件的所属用户组是root
第五段:4096 代表这个文件的大小 ,为4096B
第六段:代表这个文件的最后修改日期为11-15
第七段:代表这个文件的最后修改时间为09:36
第八段:代表这个文件的名称