1.Linux安全性模型
(1)Linux使用User和Group控制使用者对文件的存取权限
(2)用户使用账号和口令登陆Linux
(3)每个文件都有owner,并且owner属于某个Group
(4)每个程序都有owner和Group
2.用户概述
(1)每个用户都有一个唯一的User ID
(2)User的信息存储在/etc/passwd中
- 存储用户名和Home目录等信息
- /etc/shadow 存储当前用户的密码
可以查看这个文件里的内容
在最后面可能出现用户信息,第一列是用户名,第二列如果有x,那么表示密码登陆,如果没有表示不需要密码登陆,这里第一个500表示USER ID 第二个500表示所在群组的ID,倒数第三列是用户的描述信息,再下一列是用户家目录的配置,最后一列是登陆它所需要的程序,一般都是bin下面的bash
(3)每个User都有一个home目录
在passwd中配置了用户的家目录,每个用户登陆系统后用自动进入到家目录中
比如我这个dl用户的家目录是/home/dl
(4)User未经授权将禁止读写或执行其他User的文件
(5)root用户解读
- 超级管理员账号,具有至高无上的权限
- 一般不要随便用root登陆并操作系统
3.用户群组概述
(1)每一个User都属于一个Group,具有唯一的标识符gid
(2)Group信息存储于/etc/group中
- 保存gid、成员等
- /etc/gshadow 里保存group的密码,但一般情况下极少为group设置密码
group文件里面内容其中一行如图,第一行是group的名字,第二列如果是x表示需要密码登陆,第三列是当前group的gid,最后一列代表了当前group的成员,具有哪些user。
(3)系统会为每个User关联一个和User同名的Group
- 每个User至少存在于自己同名的Group中
创建user时系统会自动创建一个同名的group
如这里dl上面属于adm,实际上也属于另一个group:
2.User也可以加入其它的Group
(4)在同一个Group中的成员可以共享其它成员的文件
4.Linux权限种类
(1)只读权限,用r表示(read) 代表可以读取文件或者列出目录里的内容(ls)
(2)可写权限,用w表示(write) 可以写、删除文件或者目录
(3)可执行权限,用x表示(execute)
- 可以执行可执行文件
- 可以进入目录并使用cd切换进入目录
(3)没有任何权限,用-表示
5.Linux文件和目录权限解读
我们用 ls -l可以查看当前目录的目录详情
(1)文件和目录属性解读
U代表当前目录的owner的权限(即上上图后面的第一个dl),G代表所属用户群组的权限(即上上图后面的第二个dl),O代表当前owner和所属群组之外的user具有的权限。
(2)举例: d rwx-w----
- 它是一个目录
- owner权限为可读写可执行
- group权限为可写
- others没有任何权限
(3)举例: -rwxrwxr-x
- 它是一个文件
- owner权限为可读写可执行
- group权限为可读写可执行
- others权限为可读可执行
6.Linux权限验证流程
当User存取文件时Linux验证并授权的流程
7.设置Linux文件和目录的权限
(1)字符表示法
- chmod [-R] mode file
如果输入R参数,会一次将整个目录下所有的文件包括子目录的权限设置为我们指定的状态。mode参数代表我们要设置什么样的权限,最后一个参数是file ,设置权限的文件或目录对象。 - mode类别
上面a代表所有的三种,+代表在当前所属权限上增加新的权限,-代表在当前权限上去掉某些权限,=代表将权限设置为等号右边的状态
比如chmod ug+w porm 表示给porm文件的owner和group上加上写的权限
chmod a= porm 表示给porm文件所有的权限都赋值为空,即都不给任何权限
(2)数字表示法
- 使用一组三位数字来表示
- 第一组代表owner的权限
- 第二组代表group的权限
- 第三组代表others的权限
它的原理可参考下面的图:
r为是1的话即是4
比如 chmod 577 perm表示owner没有写权限,其他都具有所有权限
比如chmod -R 555 perm表示将当前目录和它目录下的所有目录和文件的权限都改为可读可执行权限
(3)图像界面下修改权限
右键-属性-权限里面可以直接改权限。