一、实验目的
理解国产操作系统和信创的重要性,掌握国产操作系统基线检查工具的设计。
掌握在麒麟操作系统中完成基线检查工具的实现。
二、实验环境
1.操作系统:银河麒麟虚拟机。
三、实验步骤和结果
(1)安装国产麒麟操作系统,并在VMware打开:
(2)此时虚拟机操作系统的用户名root用户密码为admin888。打开终端,输入useradd -m bupt2020211950新建用户,输入sudo passwd bupt2020211950更改密码为2020211950@bupt:
(3)切换至新建用户名:
(4)在命令行输入awk -F: '{print $1}' /etc/shadow命令,查看系统是否存在重名用户:
可以看到系统用户名都不相同,因此不存在重名用户。
(5)在命令行输入cat /etc/shadow命令,查看是否有无需身份鉴别即可登录的空口令用户:
可以看到除了root用户和自设用户以外,其他用户的口令字段均为“*”或者“!!”,表明该账号已被锁定或者该口令已经过期,因此系统不存在空口令用户。
(6)在命令行输入cat /etc/login.defs命令,查看口令修改策略是否符合要求:
可以看到口令最大使用期限为99999天、两次口令的最小修改时间为0、口令过期前警告时间为7天。
(7)在命令行输入cat /etc/pam.d/common-password命令,查看口令复杂度策略限制:
可以看到系统允许用户重新输入口令3次,且未进行其他复杂度规定。系统口令复杂度策略不符合要求。
(8)在命令行输入sudo vim /etc/pam.d/common-password 进入vim修改复杂度规则,按i进入插入模式,在上图所示位置写入minlen=5 ucredit=-1 lcredit=-1 dcredit=-1,它表示密码最小长度为五位,且必须至少包含一个大写字母(ucredit),一个小写字母(lcredit),一个数字(dcredit),写好后保存退出:
(9)新建一个用户buptlqx,设置密码测试以上规则,发现配置成功。
(10)在命令行输入systemctl status telnet命令,查看系统是否开启了telnet远程登录服务,如下图所示,telnet服务未开启,符合要求:
(11)在命令行输入systemctl status sshd命令,查看系统是否开启了ssh远程登录服务,如下图所示,ssh服务未开启:
(12)在命令行输入 systemctl start sshd开启ssh服务,再次查看发现服务已开启:
(13)编写shell脚本实现基线检测身份验证的批处理,以部分命令为例,编写如下shell脚本,命名为lqx777.sh:
(14)在命令行输入./lqx777.sh运行test.sh脚本,输出结果为2020211950.txt文档,如下:
四、实验遇到的问题及解决方法
(1)在VMvare打开麒麟系统虚拟机时,报错如下:
原因:由于该虚拟机是从别人那里拷贝过来的,而该虚拟机环境之前使用的VMware版本与我的VMware版本(16)不一致。
解决方法:在虚拟机环境里找到.vmx配置文件,使用Notepad++打开,将第3行修改为如下即可:
(2)在命令行使用某些指令是会提醒权限不够。
解决方法:在指令前加上“sudo”,并按照提示输入用户密码即可。
版权归原作者 7xun 所有, 如有侵权,请联系我们删除。