一、介绍Linux环境下安全性的模型1、在Linux的环境下,使用用户(user)和组(group)这两种帐号来管理使用者存取档案或者是资源的权限。
2、每个使用者都会拿到一组帐号和密码用来登录Linux系统。
3、在Linux的环境下,每个档案都会有它自己的拥用者(owner),owner通常是建立这个档案的user,而user又会关联到group。
4、并且每个处理程序又都会关联到user以及group,所以我们可以在所有的档案或者是资源上设定权限,只允许这个档案拥用者或者是某个group的成员存取。
二、介绍用户(user)
1、系统中的每一个user都有一组唯一的 User
ID,也就是:UID;又称为唯一识别码。
2、所有的用户名称以及他们所对应到的UID都被储存在 /etc/passwd 档案中。
3、除了用户名和UID之外,passwd档案里面还记载了每一个用户家目录的路径,以及这个用户登录后第一个所要执行的程式,通常第一个执行的是shell,也就是
/bin/bash 这个执行档。
4、如果没有权限的话,就不能够读(read)、 写(write)或是执行(execute)别人的档案
说明:使用root帐号登录
[root@localhost ~]#less /etc/passwd
这个档案中第一笔资料就是root,档案最后有我们自己建立的user1
、user2这两个帐号,passwd这个档案是储存系统中所有用户资讯的数据库,每一个用户都占用一行记录,并且用六个冒号分隔七个栏位。
例:栏位说明如下
(1)记录的是这个用户的用户名称;
(2)记录的x表示这个用户必须使用密码来登录系统,这个栏位若为空白表示不用密码即可登录系统;
(3)记录用户的UID;
(4)记录的是这个用户所属组的GID;
(5)记录这个用户的完整名称,也可以在这栏位中记录这个用户的通讯资讯或其它关于这个用户的说明;
(6)这个用户家目录的路径;
(7)记录的是当这个用户登录后,第一个要执行的程式,这栏位通常是
/bin/bash;
[root@localhost ~]#less /etc/shadow
shadow这个档案是储存在系统中所有用户密码的数据库,每一个用户的密码都占用一行记录。
其中部分栏位说明如下(同样以冒号分隔):
(1)记录用户的名称,与/etc/passwd档案中的内容对应;
(2)记录的是经过MD5加密过的密码;如果这个栏位以“$1$”开头,表示这个用户已设定好密码;如果以“!!”开头,表示这个用户还未设定密码;
三、介绍组(group)1、在Linux的环境下,系统中的每一个user有至少会隶属于一个group,而每一个group都有一个唯一的group
ID (GID)。
2、所有的group以及他们所对应的GID都被储存在 /etc/group 档案中。
3、系统会为每一个user建立一个跟username同名的group,并且会把user加入到这个group里面来。也就是说,每个user都至少会加入跟自己同名的group里面来,并且可以加入到其他的group里面去,加入其他group的目的是为了取得适当的权限来存取某些特定的资源。
4、如果有一个档案属于某个group的话,那么这个group里面的所有成员都可以存取这个档案。
例:
[root@localhost ~]#less /etc/group
其中第一笔记录就是root,最后两行记录是user1、user2这两个group,这个group档案是储存系统里面所有group资讯的数据库,第一个group都占用一行记录,并且用三个冒号分隔四个栏位。
栏位说明如下:user1:x:500:(1)记录了这个group的名称;
(2)这栏位的x表示这个group必须使用密码来登录系统;
(3)记录的是这个group的GID;
(4)记录这个group里面有哪些成员,
[root@localhost ~]#less /etc/gshadow
这个档案是储存系统里面所有group密码的数据库。
每个group的密码都占用一行记录,同样使用冒号来作为分隔符,
第一栏位:记录的是group name跟/etc/group档案可以互相对应;
第二栏位:记录是经过md5加密过的group密码,通常不会对group设定密码;
四、介绍root帐号
1、在Linux环境下,root是一个特殊管理者帐号,也是唯一的管理者帐号;又称为superuser(超级用户);
2、root这个帐号拥有系统中所有的管理权限,如果不小心使用的话,有可能会破坏整个系统,所以如果不是必要的话,最好不要使用root这个帐号来登录,而用一般用户的帐号来登录,这是因为一般用户的权限小,造成的破坏也比较有限。
五、介绍Linux下档案的安全性1、在Linux环境下我们可以针对每一个档案以及目录来设定权限,详细规定可以由哪些人可以存取这个档案或者是目录。
2、档案以及目录的权限共分成以下三种:
(1)第一种是这个档案及目录的owner的权限,也就是档案拥用者;
(2)第二咱是owner所属的group里面其它群组成员的权限;
(3)第三种是排除以上两种其他用户的权限。
3、可以针对以上三种user来设定三种权限,分别是:read(读)、write(写)、execute(执行)三种权限。
六、介绍权限的种类1、用以下四种符号来代表四种不同的权限
r
表示read读:就是可以读取档案、或使用ls指令列出目录内容的权限。
w
表示write写:可以编辑档案,在目录里新增、移除档案的权限。
x
表示execute执行:可以执行执行档,使用cd指令切换到指定的目录里面去,使用ls –l 这个指令列出目录里的详细内容等权限。
-
表示没有这个权限:如果在r,w,x的位置上看到这个符号的话,表示没有该权限。
七、介绍如何显示档案上设定了哪些权限1、可以使用ls指令加上
–l 的参数来显示档案上设定了哪些权限。
2、使用 ls –l
这个指令会在第一个栏位中列出一组十个字元的字串(这组字串类似于:drwxr-xrw-),由这组字串中可以看出这个档案的类型,例如这是一个档案或者是一个目录,也可以看出这个档案或目录上设定了哪些存取权限。
例:drwxr-xr-x
第一个字符 d 表示这是目录,后面的9个字符表示这个目录的权限。
-rwxr-xr-x
第一个字符“-”表示这是档案,后面的9个字符表示这个目录的权限。
八、介绍上一节中权限内容(例:drwxr-xr-x)代表什么意义1、前面讲到的十个字元可以分为四组,如下图:
第一组:用来表示这是一个(d)目录或是(-)档案
第二组:定义这个档案或目录的owner具有哪些权限;使用 u 字元代表owner权限;
第三组:定义这个档案或目录的owner所在的group里面其它的群组成员的权限,使用 g 字元代表这组权限;
第四组:定义其它所有即不是owner也不跟owner在同一组里面的成员,对这个档案或目录具有哪些权限,使用 o
字元代表这组权限。
后面三组:
第一个字元必须是 r 或 - 来表示可读或没有读的权限;
第二个字元必须是 w 或 - 来表示可写或没有写的权限;
第三个字元必须是 x 或 - 来表示可执行或没有可执行的权限;
九、示范如何显示目录1、ls –ld /tmp 这个指令可以列出指定目录的详细信息;用于查看目录信息。
2、ls -l /tmp/dir1 这个指令可以列出指定的档案的详细信息或目录里面的详细内容;用于查看档案信息。
十、介绍当一个使用者要存取档案或目录时,Linux验证与授权给这个使用者的流程当有user或group要求取得某个档案或目录时,会依照以下的流程来验证这个user或group有没有权限来存取这个档案或目录:
十一、介绍如何使用符号表示法来设定档案或目录权限1、使用
chmod 指令来设定权限,格式如下:
chmod [-R] mode file
-R:表示递归操作,连同子目录中的档案及目录一同设定。
2、符号表示法指的是用几个特定的符号来设定权限的状态。
mode
who
operator
权限
u(owner)
+(加入)
r
g(group)
-(移除)
w
o(other)
=(设定)
x
a(all所有人)
例:如下图:chmod go+w
testdir 为testdir目录对group和other增加了写的权限,权限由drwxr-xr-x变为了drwxrwxrwx(全部的权限都开放了)。
chmod o-rwx testdir 将testdir 目录的other权限全部都移除了。
十二、介绍如何使用数字表示法来设定档案或目录的权限1、使用一组三位数的数字来设定权限的状态。这一组三位数的数字当中:
第一个数字代表owner的权限;
第二个数字代表group的权限;
第三个数字代表other的权限;
2、这一组三位数的数字是由 4、2、1、0 这几个数字相加所得的总和而来。
4 表示 r (read)读
2 表示 w (write)写
1 表示 x (execute)执行
0 表示 - 没有权限
把以上这些代表权限的数字就可以得到一个从0~7的数字,而这0~7的数字就是代表每一组使用者权限状态的数字。
数字组合所表示的意义如下图所示:
使用数字设定权限指令如下:
chmod 777 testfile 开放这个档案所有的权限;
chmod 764 testfile 开放owner所有权限、group开放读与写、其他只开放读权限;
十三、介绍在图形界面下来设定权限在图形界面下,使用鼠标在档案或目录上点选右键,再点选属性(Properties),如下图:
注:如果想要一次性修改子目录中的所有档案权限,只能使用 chmod 指令
加上 –R 的参数才可以,在图形界面下,不能做到递归操作来自动修改子目录中的档案的权限,里面的档案需要逐一设定。