访问控制实验.docx
《访问控制实验.docx》由会员分享,可在线阅读,更多相关《访问控制实验.docx(12页珍藏版)》请在冰豆网上搜索。
![访问控制实验.docx](https://file1.bdocx.com/fileroot1/2023-7/21/21f69899-9a2c-4bf2-a2e8-75a794cfbb38/21f69899-9a2c-4bf2-a2e8-75a794cfbb381.gif)
访问控制实验
一、实验项目名称
访问控制实验
二、实验目的
掌握Linux环境下用户管理和进程管理的常用命令,了解Linux用户管理的一般原则,掌握Linux中用户管理、授权管理和PAM等相关的系统安全配置方法,建立起Linux操作系统的基本安全框架。
三、实验内容与实验步骤
Linux访问控制实验、linux文件系统访问控制实验
四、实验环境
在计算机或虚拟机上安装Linux环境,本实验在VMwareWorkstation虚拟机上安装的Ubuntu10.04上进行。
五、实验过程与分析
(一)、linux访问控制实验
任务一:
用户管理
步骤1:
查看和添加名为mylist的新账户。
用su命令切换到新建的账户,检查shadow文件的权限设置是否安全。
设置安全时,普通用户mylist没有查看该系统文件的权限。
步骤2:
添加和更改密码(与实验3一致,不再截图)
步骤3:
账户的禁用与恢复
步骤3-1:
输入下列命令行,以管理员身份锁定新建账户,试图再转入mylist账户发现无法转入。
检查用户mylist的当前状态,L表示账户已经被锁定了。
将锁定账户解锁
步骤4:
建立名为mygroup的用户组。
将新建的用户组更名为mygroup1,将新建用户mylist加入到新建的组mygroup1中。
将mylist设置为该用户组的管理员;用su命令转换到mylist用户下,并将系统中的一个普通用户testuser1加入到mygroup1中,被设置为组管理员的用户可以将其他用户加入到该组中,普通用户则没有此权限。
步骤5:
设置密码规则
编辑/etc/login.defs目录下的defs文件;在文件中找到有关口令信息相应内容
步骤6:
为账户和组相关系统文件加上不可更改属性,防止非授权用户获得权限
锁定/etc/passwd,再次建立新用户friend时,由于系统文件被锁定,无法完成操作命令。
解除对于passwd文件的锁定,再分别用同样的方法锁定/etc/shadow(用户口令加密文件),无法创建用户,锁定/etc/group(用户组名列表)/etc/gshadow(组密码文件),无法创建组。
步骤7:
删除用户和用户组
步骤8:
编写一个简单的账号木马,并且运行木马程序,输入正确口令信息报错,再次输入才能正确登陆。
这时就可以到/tmp/下看到刚才输入的密码已被存到/tmp/catchpass文件中。
任务二:
授权管理
步骤1:
超级用户权限授权管理:
使用su命令对用户授权:
使用su命令对用户授权添加新用户testuser1;首先修改su的PAM配置文件(/etc/pam.d/su),然后以testuser1用户登录系统,尝试命令suroot,输入正确的root密码,也无法拥有root权限
此时,将PAM配置文件(/etc/pam.d/su)修改回原先状态,再次尝试suroot,输入正确的root密码,可以正常拥有root权限。
再次修改su的PAM配置文件(/etc/pam.d/su),以root身份登录系统,把testuser1用户加入到用户组wheel中后,又可以使用su命令了。
步骤1-3:
使用sudo为用户授权:
sudo命令提供了另一种授予用户管理权限的方法。
用户在管理命令前加一个sudo命令,这个用户就会被提示输入他自己的口令。
验证后,如果这个命令被授予该用户执行,它就会以根用户身份执行该命令。
以用户名zhang登录,没有权限为其他用户更改密码
在文件系统中的/etc目录下找到sudoers文件进行编辑。
通过命令chmod666/etc/sudoers修改sudoers权限,在文件sudoers中添加语句
使用命令chmod440/etc/sudoers将文件修改为原先状态。
步骤1-4:
以用户名hzb登录系统,发现其可以为testuser1改密码
步骤2:
利用PAM进行权限控制
步骤2-1:
控制使用ssh登录的用户。
步骤2-2:
控制密码可以重试三次,不提示输入旧密码
步骤2-3:
密码强度控制。
新密码使用MD5方式加密,密码长度为10位,其中2位数字,2位其他字符,至少3位不得与旧密码相同;
然后使用一个用户名登录系统(不要使用root登录),试着为该用户更改口令。
步骤2-4:
配置vsftp的认证方式。
下面是vsftp服务器利用PAM模块进行用户认证的三个步骤。
首先用pam_ftp模块检查当前用户是否为匿名用户,如果是匿名用户,则sufficient控制标志表明无须再进行后面的认证步骤,直接通过认证;否则继续使用pam_unix_auth模块来进行标准的Linux认证,即用/etc/passwd和/etc/shadow进行认证;通过了pam_unix_auth模块的认证之后,还要继续用pam_listfile模块来检查该用户是否出现在文件/etc/ftpusers中,如果是则该用户被拒绝掉
步骤2-5:
控制su的操作能够进入的其他用户。
创建/etc/security/suok文件,其中的内容为允许进入的用户名,one,two,root
在/etc/pam.d/su中添加:
authrequiredpam_listfile.soonerr=failitem=usersense=allowfile=/etc/security/suok
只有suok文件里的用户可以由su进入
尝试用su转入用户,由于onetwo在suok中,所以可以由su进入,three则不行。
控制只有在root组中的用户可以通过密码su成为root,可以在/etc/pam.d/su中添加:
authsufficientpam_wheel.sogroup=root
在/etc/group中添加root组中的成员。
将one添加到root组。
尝试用one,two利用su进入root权限,只有root组中的one可以。
(二)、linux文件系统访问控制实验
步骤1:
新建文件夹和文件:
在/home/hzb目录下新建名为myfolder的文件夹。
用mkdir命令在myfolder文件夹下建立一个名为child的子文件夹,用cd命令进入child文件夹,并新建一个名为newfile的文件。
步骤2:
编辑文件:
在“插入”模式下输入:
thisisanewfile.
步骤3:
查看文件内容及访问权限:
用cat命令查看文件内容,用ll命令查看相关的文件信息
步骤4:
文件的打开
使用gcc编译器编译程序,并生成可执行文件open_file
从中可以看到,系统成功打开(或创建)/home/hzb/hello文件,文件描述符为3。
使用ls–l进一步查看该文件信息如下:
由此可见,文件的执行权限“rwxr-xr-x”与程序中的“MODE”宏定义是吻合的,文件的长度为0,这与“FLAGS”宏定义是吻合的。
步骤5:
设置或管理文件所属用户、用户组和其他组用户的权限
方法一:
用chmod命令将newfile文件的访问权限设置为所属用户有读、写和执行的权限,用户组有读、执行的权限,其他用户没有任何权限,再次查看并记录用户权限,发现修改成功。
方法二:
以下用chmod函数编程实现改变文件访问权限:
change_mode.c
使用gcc编译change_mode.c,并生成可执行文件change_mode,运行程序,得到输出结果
·
使用llnewfile命令查看文件/home/hzb/myfolder/child/newfile的访问控制信息,发现访问权限改变。
从中可以看到,显示的文件的执行权限信息与程序中的“MODE”参数值0755是吻合的,即实验成功执行。
步骤6:
改变文件或目录的所有权
首先进入root用户,进入/home路径,新建文件mytest1.txt,改变文件的访问控制权限为666,后查看文件权限;
打开mytest1.txt文件,在文件中输入数字“123456”并保存退出;此时将文件mytest1.txt复制到用户hzb目录下,进入/home/hzb目录下,查看文件mytest1.txt内容:
得到123456。
再次查看文件的访问控制权限,发现变成644但属组,属主没变。
使用zhang用户登录并查看文件的访问控制权限,权限还是644,属组,属主是root,此时,尝试在文件mytest1.txt中输入信息“testtext”,无权限无法写入
使用chown命令改变文件mytest1.txt的所有权,再次使用用户zhang对文件mytest1.txt进行写操作,写入内容为“testtest”,并用cat命令显示输出文件mytest1.txt的内容。
可以看出在进行chown命令之前,zhang用户不能写mytest1.txt文件,在执行chown命令之后则可以对文件进行读写了。
在上面的实验中更改了mytest1.txt的属住,没有更改它的组,它的组仍然是root,下面把mytest1.txt文件所属的组修改为zhang
步骤7:
配置并应用ACL管理文件的访问权限
步骤7-1:
首先配置文件系统支持ACL:
Linux系统默认可能支持ACL,若不支持,则需要进行配置。
(1)可以直接修改/etc/fstab文件。
修改方法通常是打开/etc/fstab文件,在defaults后面添加acl,然后输入命令#mount–oremount或者重启系统就可以了;
(2)或者也可以直接在命令行终端中安装ACL工具。
步骤7-2:
以根用户身份登录系统,创建一个文件onn.txt,并查看/home/zhang目录下文件,看到onn.txt
步骤7-3:
以zhang用户身份登录系统,进行写测试,以zhang用户身份进行写测试失败
步骤7-4:
使用setfacl命令设置文件test.txt,使得用户hzb具有读写权限。
可以使用getfacl命令查询文件ACL属性,可以看出设置ACL后,ll命令的输出中test.txt文件的权限后面多出一个“+”,这也是ACL执行的一个标志。
5.2.5实验结果分析
(一)熟悉了su、sudo、useradd、passwd、groupadd、userdel、groupdel和chattr等Linux下常用命令的使用方法以及简单账号木马的工作原理。
另一个是授权管理,进行了超级用户权限授权管理和利用插件式鉴别模块(PAM)认证机制进行权限控制。
PAM是统一身份认证框架,基本思想是服务程序与认证机制的分离,在etc/pam/.d目录下存放配置文件,有四种模块,三种控制标记,任意组合能符合多种系统需求。
(二)进行了文件系统相关实验,包括文件的创建、打开与关闭以及文件的权限管理,对linux文件系统增强了解。
其中文件的权限管理又包含设置或管理文件的访问权限、改变文件或目录的所有者和访问控制列表ACL三部分。
Linux针对多用户环境下文件管理提供套完善控制机制,但对于超级用户等角色文件操作危险性太高。