本发明涉及计算机管理技术领域,具体涉及一种mac机房批量登录方法及系统。
背景技术:
随着mac系统的机房在学校的使用程度的普及,一个机房往往不再局限于单个教学环境。在多功能的应用环境下,对机房的统一管理和维护就变的尤为重要。在当前的学校机房里,设有至少一台管理机以及其管理的多台用户机;老师为了方便学生的使用,通常不会为用户机(或称学生机)设置登录验证,学生开机无需输入用户名和密码即可使用。显然,失去了登录验证这一层安全机制势必会导致机房在安全方面存在一定的隐患。因此,要做到对机房的正确使用就需要对用户机进行登录验证,并且登录账号和密码只应该掌握在老师或实验室管理员手中,这种情况下,如果由老师逐台对用户机进行登录验证,无疑大量浪费了老师宝贵的教学时间,由老师在管理机批量地对用户机进行登录验证即可方便老师的教学,又可保障机房的安全性,然而,现有的mac系统的计算机并不支持通过管理机对其管理的用户机进行登录验证。因此,亟需一种实现通过管理机对其管理的用户机批量登陆验证的技术方案。
技术实现要素:
针对现有技术中存在的缺陷,本发明的目的在于提供一种mac机房批量登录方法及系统,实现通过管理机对其管理的用户机批量登陆验证,保障安全性且便于管理。
为达到以上目的,本发明采取的技术方案是:
一种mac机房批量登录方法,所述mac机房中设有至少一台管理机以及多台用户机,其特征在于:
分别在每台用户机的用户机系统中添加登录账户,并设置登录账户的用户名及密码;
分别在每台用户机中用自定义登录模块替换系统原始的登录模块;所述自定义登录模块用于与管理机之建立socket连接,提供用于获取用户名及密码的api并验证获取到的用户名及密码;
管理员在所述管理机中输入用户名及密码,所述管理机通过socket连接将管理员输入的用户名及密码分别发送至管理员指定的用户机的所述自定义登录模块;
各用户机的所述自定义登录模块分别通过获取用户名及密码的api获取管理机下发的用户名及密码,并验证该用户名及密码是否与用户机系统中已添加的登录账户的用户名及密码一致,验证一致时允许进入用户机系统。
在上述技术方案的基础上,在所述用户机与所述管理机之间建立socket连接后,所述管理机显示成功建立socket连接的用户机列表,管理员通过勾选用户机列表控制所述管理机将用户名及密码发送至管理员指定的用户机。
在上述技术方案的基础上,所述自定义登录模块与所述管理机中均设有socket通信单元,所述用户机与所述管理机之间通过所述socket通信单元建立socket连接。
在上述技术方案的基础上,所述管理机提供用于获取用户名及密码的api,通过获取用户名及密码的api获取管理员输入的用户名及密码。
本发明一种mac机房批量登录系统:包括多台用户机以及至少一台管理机,所述用户机与所述管理机之间建立socket连接,其中:
所述管理机包括批量登录模块,所述批量登录模块用于获取管理员输入的用户名及密码并通过socket连接将管理员输入的用户名及密码分别发送至各用户机;
所述用户机包括账户设置模块和自定义登录模块,所述账户设置模块用于在用户机系统中添加登录账户,设置登录账户的用户名及密码;所述自定义登录模块用于与管理机之建立socket连接,提供用于获取用户名及密码的api以获取管理机下发的用户名及密码,并验证该用户名及密码是否与用户机系统中已添加的登录账户的用户名及密码一致,验证一致时允许进入用户机系统。
在上述技术方案的基础上,所述管理机用于在所述用户机与所述管理机之间建立socket连接后,显示成功建立socket连接的用户机列表。
在上述技术方案的基础上,所述自定义登录模块与所述管理机中均设有socket通信单元,所述用户机与所述管理机之间通过所述socket通信单元建立socket连接。
在上述技术方案的基础上,所述批量登录模块用于提供获取用户名及密码的api,通过获取用户名及密码的api获取管理员输入的用户名及密码。
与现有技术相比,本发明的优点在于:
本发明分别在每台用户机中用自定义登录模块替换系统原始的登录模块;管理员在管理机中输入用户名及密码,管理机通过socket连接将管理员输入的用户名及密码分别发送至管理员指定的用户机的自定义登录模块;各用户机的自定义登录模块分别通过获取用户名及密码的api获取管理机下发的用户名及密码,并验证该用户名及密码是否与用户机系统中已添加的登录账户的用户名及密码一致,验证一致时允许进入用户机系统,实现通过管理机对其管理的用户机批量登陆验证,保障安全性且便于管理。
附图说明
图1为本发明实施例中mac机房批量登录方法的流程示意图;
图2为本发明实施例中mac机房批量登录系统的结构示意图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
实施例1:
参见图1所示,本发明实施例提供一种mac机房批量登录方法:
mac机房中设有至少一台管理机以及多台用户机;分别在每台用户机的用户机系统中添加登录账户,并设置登录账户的用户名及密码;
分别在每台用户机中用自定义登录模块替换系统原始的登录模块;自定义登录模块用于与管理机之建立socket连接,提供用于获取用户名及密码的api并验证获取到的用户名及密码;
管理员在管理机中输入用户名及密码,管理机通过socket连接将管理员输入的用户名及密码分别发送至管理员指定的用户机的自定义登录模块;
各用户机的自定义登录模块分别通过获取用户名及密码的api获取管理机下发的用户名及密码,并验证该用户名及密码是否与用户机系统中已添加的登录账户的用户名及密码一致,验证一致时允许进入用户机系统。
分别在每台用户机中用自定义登录模块替换系统原始的登录模块的具体实现方式为:
首先,根据apple官方指定的规范和提供的方法实现一个自定义的登录模块,自定义登录模块用于与管理机之建立socket连接,提供用于获取用户名及密码的api并验证获取到的用户名及密码;编译自定义的登录模块代码生成myloginwindow.bundle文件。
然后,将编译生成的myloginwindow.bundle文件拷贝至/library/security/securityagentplugins/目录下,并执行chown–rroot:wheelmyloginwindow.bundle修改文件所有者和所属的组为root:wheel,执行chmod–r755myloginwindow.bundle修改文件的权限值为755。接着执行securityauthorizationdbreadsystem.login.console>/tmp/outfile.plist命令将系统登录相关的配置信息读到outfile.plist文件中,再执行sed–i“”‘s#loginwindow:login#myloginwindow:invoke#g’/tmp/outfile.plist命令将系统登录模块(loginwindow)的入口(login函数)替换为myloginwindow(自定义登录模块)的invoke函数,最后执行securityauthorizationdbwritesystem.login.console</tmp/outfile.plist命令更新系统登录配置信息并完成对系统原始的登录模块的替换。
在用户机与管理机之间建立socket连接后,管理机显示成功建立socket连接的用户机列表,管理员通过勾选用户机列表控制管理机将用户名及密码发送至管理员指定的用户机。
自定义登录模块与管理机中均设有socket通信单元,用户机与管理机之间通过socket通信单元建立socket连接。
管理机提供用于获取用户名及密码的api,通过获取用户名及密码的api获取管理员输入的用户名及密码。
实施例2:
参见图2所示,本发明实施例公开了一种mac机房批量登录系统:包括多台用户机以及至少一台管理机,用户机与管理机之间建立socket连接,其中:
管理机包括批量登录模块,批量登录模块用于获取管理员输入的用户名及密码并通过socket连接将管理员输入的用户名及密码分别发送至各用户机;
用户机包括账户设置模块和自定义登录模块,账户设置模块用于在用户机系统中添加登录账户,设置登录账户的用户名及密码;自定义登录模块用于与管理机之建立socket连接,提供用于获取用户名及密码的api以获取管理机下发的用户名及密码,并验证该用户名及密码是否与用户机系统中已添加的登录账户的用户名及密码一致,验证一致时允许进入用户机系统。
管理机用于在用户机与管理机之间建立socket连接后,显示成功建立socket连接的用户机列表。
自定义登录模块与管理机中均设有socket通信单元,用户机与管理机之间通过socket通信单元建立socket连接。
批量登录模块用于提供获取用户名及密码的api,通过获取用户名及密码的api获取管理员输入的用户名及密码。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。