Linux安全性模型
- Linux使用User(用户)和Group(群组)控制使用者对文件的存取权限
- 用户使用账号和口令登录Linux
- 每个文件都有owner(所有者),并且owner属于某个Group
- 每个程序都有owner和Group
用户
- 每个用户都有一个唯一的User ID
-
User的信息存储在
/etc/passwd
中
1)存储用户名用户名和home目录等信息
2)密码存储在/etc/shadow
中 - 每个User都有一个home目录
- User未经授权将禁止读写或执行其他User的文件
-
root用户解读
1)它是超级管理员账号,拥有至高无上的权限
2)一般不要随意使用root登录操作系统
用户群组
- 每个User都属于一个Group,具有唯一的标识符gid
-
Group信息存储于
/etc/group
中
1)保存gid、成员等信息
2)密码存储在/etc/gshadow
中 -
系统会为每个User关联一个和User同名的Group
1)每个User至少存在于自己同名的Group中
2)User也可以加入其他的Group - 在同一个Group中的成员可以共享其他成员的文件
目录和文件的权限意义
Linux系统中的每个文件都有三种权限,分别是:读(read)、写(write)、执行(execute)。
-
权限对文件的作用
r(read):读取文件内容,如读取文本的文字内容等
w(write):可以编辑、新增、修改文件的内容,但不含删除该文件
x(execute):具有被系统执行的权限。注意:在Linux中,文件是否能否被执行是由文件是否具有x权限决定的,与文件名的扩展名无关。 -
权限的目录的作用
r(read contents in directory):具有读取目录结构列表的权限,与用户能否进入该目录无关。
w(modify contents of directory):具有更改该目录结构列表的权限,包括新建文件或目录、删除文件和目录(不论该文件权限如何)、对文件或目录进行重命名、转移文件或目录位置。
x(execute directory):具有进入该目录的权限,使该目录成为工作目录,即目前所在的目录。如果没有x权限,即使有r权限,也无法切换到该目录执行该目录下的命令。 -
总结
对文件来说,最高权限是x
对目录来说,最高权限是w
权限的设定
-
核心原则
在最小权限的情况下,能够实现要求即可! -
文件属性
使用ls -l
来查看文件的属性,如下:
-rw-r--r--. 1 root root 17 Sep 15 14:55 test.txt
对于第一列的-rw-r--r--.
(即文件权限,没有相应的权限用-
代替)解释如下:
第二列的数字
1
代表有多少文件名连接到此节点(i-node)。每个文件都将它的权限和属性记录到文件系统的 inode 中,不过文件名却是存放在目录文件中的。因此会有多个文件名连接到一个 inode 的情况,这就是硬链接,而该列就是指的硬链接数。第三列代表文件/目录的所有者
第四列代表文件/目录的所属组
第五列代表文件的大小
之后分别是文件的修改时间、文件名
-
改变文件权限和属性
1)改变文件所有者:chown(change owner)
[root@www ~]# chown [-R] 账号名称 文件名/目录名
[root@www ~]# chown [-R] 账号名称:组名 文件名/目录名
—R:进行递归,可修改子目录下的文件
2)改变所属用户组:chgrp(change group)
[root@www ~]# chgrp [-R] 文件名/目录名
—R:进行递归,可修改子目录下的文件
3)改变文件权限:chmod(change mode)
[root@www ~]# chmod [-R] mode 文件名/目录名
—R:进行递归,可修改子目录下的文件
Linux的基本权限有9个,即owner、group、others三种身份各有自己的r/w/x权限,三个为一组。各权限对应的数字是:r—>4,w—>2,x—>1.
每种身份(owner、group、others)的三个权限(r/w/x)分数是累加的,如-rw-r–r–转换数字是:
owner=rw-=4+2+0=6 group=r–=4+0+0=4 others=r–=4+0+0=4
所以该文件的权限数字是644
修改test.txt的权限为777
[root@www ~]# chmod 777 test.txt
参考教程:
http://www.jikexueyuan.com/course/565.html
http://www.imooc.com/view/481
如有错漏,欢迎指出
网友评论