Linux的权限系统主要是由用户、用户组和文件权限组成。
用户就是一个个的登录并使用linux的用户。linux内部用UID表示。
用户组就是用户的分组。linux内部用GID表示。
文件权限分为读、写、执行三种权限。
Linux系统将所有东西都体现成文件,所以某用户(用户组)有哪些权限最终是由某用户(用户组)对某个文件有哪些权限决定的。
用户
Linux 系统分为3种用户:
root 用户:系统唯一,是真实的,可以登录系统,可以操作系统任何文件和命令,拥有最高权限;
虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等;这类用户都系统自身拥有的,而非后来添加的,当然我们也可以添加虚拟用户;
普通真实用户:这类用户能登录系统,但只能操作自己家目录的内容;权限有限;这类用户都是系统管理员自行添加的;
linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息。
/etc/passwd文件里一行对应一个用户,格式如下:
用户名:用户密码:UID:GID:说明信息:用户家目录:默认shell
其中UID为0是用户root,1~499为虚拟用户,500以上为普通用户。同时只有默认shell为/bin/bash的才能使用命令窗口,但无法使用命令不代表无法对系统进行操作,例如ftp用户可以远程ftp,使用ftp命令进入其它目录,上传下载文件。
/etc/shadow文件里一行对应一个用户,使用『:』隔开,总共9个内容项,格式如下:
1.用户名:
2.用户密码:经过加密。
3.最后更改密码的日期:以1970/01/01开始算,1971/01/01的话就显示为366。
4.密码不可被改动的天数:最后一次更改密码后多少天内无法再更改密码。
5.密码有效天数:以最后一次更改密码开始算,超过时间就失效。
6.密码需要重新设置前的警告天数:如果是7,就是在密码失效前7天就开始发出警告信息。
7.密码过期后的帐号宽限时间:密码过期后仍然可以登录系统,不过一旦登录就会被强制要求更改密码。计算方法跟第三栏一样。
8.帐号失效:过了宽限时间还没更改密码,这个帐号就失效了,无法被使用。
9.保留:保留的栏位,看以后有没有新内容加入。(没用)
用户组
linux的用户组信息保存在/etc/group文件中,另外,/etc/gshadow文件存放的是用户密码相关信息。
/etc/group文件里一行对应一个用户,格式如下:
/etc/gshadow文件里一行对应一个用户,格式如下:
用户组名:组密码:用户组管理员的用户名:组内用户(多个用户用逗号分隔)
文件权限
文件属性如下:
属性说明:
文件类型权限:总共9格
第1格表示文件类型,『d』表示目录,『-』表示文件,『l』表示连接文件。
接下来为文件的权限属性,3格为一组,总共3组,且均为rwx三个参数。r为读,w为写,x为可执行。
第一组表示文件owner的权限,第二组表示文件所属用户组的权限,第三组为其它用户组的权限。
以上图为例,
Desktop是一个目录,owner是root,root对该目录(不包括该目录下的文件)拥有读、写、可执行的权限。所属用户组是root,root用户组对该目录(不包括该目录下的文件)拥有读、可执行的权限。其它用户组(除root用户组以外的)对该目录(不包括该目录下的文件)拥有读、可执行的权限。
权限对文件的重要性
文件是实际含有资料的地方,包括一般文件、库文件、二进制文件等等。因此,权限对于文件来说,代表的意义是:
r(read):读取该文件的内容,如读取文档的文字内容等。
w(write):可以编辑、新增或者修改该文件的内容(但不包括删除该文件)。
x(execute):该文件具有被系统执行的权限。
权限对目录的重要性
与文件不同,目录其实只是记录文件名,以及连接到该文件存储地方的连接信息等。所以,权限对目录来说,代表的意义是:
r(read contents in directory):读取该目录结构清单,例如可以用ls等命令查该目录下有哪些文件。
w(write):可以改变该目录的结构清单,例如该目录下增加、删除、更改文件和目录。
x(execute):可以进入该目录。如果没有该权限,同样无法对该目录下的文件进行读写,即使拥有该文件的所有权限。
特殊权限回头再写。