1、访问控制实验一、实验项目名称访问控制实验二、 实验目的掌握Linux环境下用户管理和进程管理的常用命令,了解Linux用户管理的一般原则,掌握Linux中用户管理、授权管理和PAM等相关的系统安全配置方法,建立起Linux操作系统的基本安全框架。三 、实验内容与实验步骤Linux访问控制实验、linux文件系统访问控制实验四、 实验环境在计算机或虚拟机上安装Linux环境,本实验在VMware Workstation虚拟机上安装的Ubuntu 10.04上进行。五、实验过程与分析(一)、linux访问控制实验任务一:用户管理步骤1:查看和添加名为mylist的新账户。用su命令切换到新建的账户
2、,检查shadow文件的权限设置是否安全。设置安全时,普通用户mylist没有查看该系统文件的权限。步骤2:添加和更改密码(与实验3一致,不再截图)步骤3:账户的禁用与恢复步骤3-1:输入下列命令行,以管理员身份锁定新建账户,试图再转入mylist账户发现无法转入。检查用户mylist的当前状态,L表示账户已经被锁定了。将锁定账户解锁步骤4:建立名为mygroup的用户组。将新建的用户组更名为mygroup1,将新建用户mylist加入到新建的组mygroup1中。将mylist设置为该用户组的管理员;用su命令转换到mylist用户下,并将系统中的一个普通用户testuser1加入到mygr
3、oup1中,被设置为组管理员的用户可以将其他用户加入到该组中,普通用户则没有此权限。步骤5:设置密码规则编辑/etc/login.defs目录下的defs文件;在文件中找到有关口令信息相应内容步骤6:为账户和组相关系统文件加上不可更改属性,防止非授权用户获得权限锁定 /etc/passwd,再次建立新用户friend时,由于系统文件被锁定,无法完成操作命令。解除对于passwd文件的锁定,再分别用同样的方法锁定/etc/shadow(用户口令加密文件),无法创建用户,锁定/etc/group(用户组名列表)/etc/gshadow(组密码文件),无法创建组。步骤7:删除用户和用户组步骤8:编写
4、一个简单的账号木马,并且运行木马程序,输入正确口令信息报错,再次输入才能正确登陆。这时就可以到/tmp/下看到刚才输入的密码已被存到/tmp/catchpass文件中。任务二:授权管理 步骤1:超级用户权限授权管理:使用su命令对用户授权:使用su命令对用户授权添加新用户testuser1;首先修改su的PAM配置文件(/etc/pam.d/su),然后以testuser1用户登录系统,尝试命令su root,输入正确的root密码,也无法拥有root权限此时,将PAM配置文件(/etc/pam.d/su)修改回原先状态,再次尝试su root,输入正确的root密码,可以正常拥有root权限
5、。再次修改su的PAM配置文件(/etc/pam.d/su),以root身份登录系统,把testuser1用户加入到用户组wheel中后,又可以使用su命令了。 步骤1-3:使用sudo为用户授权:sudo命令提供了另一种授予用户管理权限的方法。用户在管理命令前加一个sudo命令,这个用户就会被提示输入他自己的口令。验证后,如果这个命令被授予该用户执行,它就会以根用户身份执行该命令。以用户名zhang登录,没有权限为其他用户更改密码在文件系统中的/etc目录下找到sudoers文件进行编辑。通过命令chmod 666 /etc/sudoers修改sudoers权限,在文件sudoers中添加语
6、句 使用命令chmod 440 /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
7、模块检查当前用户是否为匿名用户,如果是匿名用户,则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中
8、添加:auth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/security/suok只有suok文件里的用户可以由su进入尝试用su转入用户,由于one two 在suok中,所以可以由su进入,three则不行。 控制只有在root组中的用户可以通过密码su成为root,可以在/etc/pam.d/su中添加:auth sufficient pam_wheel.so group=root 在/etc/group中添加root组中的成员。将one添加到root组。尝试用one,two利用su进入roo
9、t权限,只有root组中的one 可以。(二)、linux文件系统访问控制实验步骤1:新建文件夹和文件:在/home/hzb目录下新建名为myfolder的文件夹。用mkdir命令在myfolder文件夹下建立一个名为child的子文件夹,用cd命令进入child文件夹,并新建一个名为newfile的文件。步骤2:编辑文件:在“插入”模式下输入:this is a new file.步骤3:查看文件内容及访问权限:用cat命令查看文件内容,用ll命令查看相关的文件信息 步骤4:文件的打开使用gcc编译器编译程序,并生成可执行文件open_file 从中可以看到,系统成功打开(或创建)/home
10、/hzb/hello文件,文件描述符为3。使用ls l进一步查看该文件信息如下: 由此可见,文件的执行权限“rwxr-xr-x”与程序中的“MODE”宏定义是吻合的,文件的长度为0,这与“FLAGS”宏定义是吻合的。 步骤5:设置或管理文件所属用户、用户组和其他组用户的权限方法一:用chmod命令将newfile文件的访问权限设置为所属用户有读、写和执行的权限,用户组有读、执行的权限,其他用户没有任何权限,再次查看并记录用户权限,发现修改成功。 方法二:以下用chmod函数编程实现改变文件访问权限:change_mode.c使用gcc编译change_mode.c,并生成可执行文件change
11、_mode,运行程序,得到输出结果使用ll newfile命令查看文件/home/hzb/ myfolder/child/newfile的访问控制信息,发现访问权限改变。从中可以看到,显示的文件的执行权限信息与程序中的“MODE”参数值0755是吻合的,即实验成功执行。 步骤6:改变文件或目录的所有权首先进入root用户,进入/home路径,新建文件mytest1.txt,改变文件的访问控制权限为666,后查看文件权限;打开mytest1.txt文件,在文件中输入数字“123456”并保存退出;此时将文件mytest1.txt复制到用户hzb目录下,进入/home/hzb目录下,查看文件myt
12、est1.txt内容:得到123456。再次查看文件的访问控制权限,发现变成644但属组,属主没变。 使用zhang用户登录并查看文件的访问控制权限,权限还是644,属组,属主是root,此时,尝试在文件mytest1.txt中输入信息“testtext”,无权限无法写入 使用chown命令改变文件mytest1.txt的所有权,再次使用用户zhang对文件mytest1.txt进行写操作,写入内容为“test test”,并用cat命令显示输出文件mytest1.txt的内容。可以看出在进行chown命令之前,zhang用户不能写mytest1.txt文件,在执行chown命令之后则可以对文
13、件进行读写了。在上面的实验中更改了mytest1.txt的属住,没有更改它的组,它的组仍然是root,下面把mytest1.txt文件所属的组修改为zhang 步骤7:配置并应用ACL管理文件的访问权限步骤7-1:首先配置文件系统支持ACL:Linux系统默认可能支持ACL,若不支持,则需要进行配置。(1)可以直接修改/etc/fstab文件。修改方法通常是打开/etc/fstab文件,在defaults后面添加acl,然后输入命令#mount o remount或者重启系统就可以了;(2)或者也可以直接在命令行终端中安装ACL工具。步骤7-2:以根用户身份登录系统,创建一个文件onn.txt
14、,并查看/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针对多用户环境下文件管理提供套完善控制机制,但对于超级用户等角色文件操作危险性太高。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1