本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,并且更具體地涉及一種基于中標(biāo)麒麟操作系統(tǒng)的單點(diǎn)登錄方法和裝置。
背景技術(shù):
中標(biāo)麒麟操作系統(tǒng)采用傳統(tǒng)的linux內(nèi)核,已經(jīng)廣泛的應(yīng)用在政府、金融、軍隊(duì)、企業(yè)等各行各業(yè)。中標(biāo)麒麟操作系統(tǒng)采用優(yōu)化和加固的linux3.10內(nèi)核技術(shù),全面改善內(nèi)存、cpu(中央處理器)、ipv4/ipv6的性能和可擴(kuò)展性;能夠記錄整個(gè)系統(tǒng)的活動(dòng)以及對(duì)整個(gè)系統(tǒng)所進(jìn)行的修改;還可以支持最新的autofs(自動(dòng)安裝服務(wù))和nfsv4(網(wǎng)絡(luò)文件系統(tǒng)),可以使多種unix系統(tǒng)共享映射。
隨著企業(yè)的發(fā)展,業(yè)務(wù)系統(tǒng)的數(shù)量在不斷增加,老的系統(tǒng)卻不能輕易地替換,這會(huì)帶來(lái)很多的開(kāi)銷。其一是管理上的開(kāi)銷,需要維護(hù)的系統(tǒng)越來(lái)越多。很多系統(tǒng)的數(shù)據(jù)是相互冗余和重復(fù)的,數(shù)據(jù)的不一致性會(huì)給管理工作帶來(lái)很大的壓力。業(yè)務(wù)和業(yè)務(wù)之間的相關(guān)性也越來(lái)越大,例如公司的計(jì)費(fèi)系統(tǒng)和財(cái)務(wù)系統(tǒng)、財(cái)務(wù)系統(tǒng)和人事系統(tǒng)之間都不可避免的有著密切的關(guān)系。通常來(lái)說(shuō),每個(gè)單獨(dú)的系統(tǒng)都會(huì)有自己的安全體系和身份認(rèn)證系統(tǒng)。整合以前,進(jìn)入每個(gè)系統(tǒng)都需要進(jìn)行登錄,這樣的局面不僅給管理上帶來(lái)了很大的困難,在安全方面也埋下了重大的隱患。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明的目的在于提供一種基于中標(biāo)麒麟操作系統(tǒng)的單點(diǎn)登錄方法和裝置,基于輕型的開(kāi)源目錄訪問(wèn)協(xié)議(openldap),在ovirt的engine節(jié)點(diǎn)上搭建openldap服務(wù)端,實(shí)現(xiàn)搭建有中標(biāo)麒麟操作系統(tǒng)的虛擬機(jī)的單點(diǎn)登陸,從而提高工作效率,簡(jiǎn)化應(yīng)用系統(tǒng)操作過(guò)程;同時(shí)還可以規(guī)避密碼安全風(fēng)險(xiǎn)、增加信息系統(tǒng)的安全性。
根據(jù)本發(fā)明,提供一種基于中標(biāo)麒麟操作系統(tǒng)的單點(diǎn)登錄方法,該方法包括以下步驟:
步驟一:部署ovirtengine節(jié)點(diǎn)和ovirtnode節(jié)點(diǎn);
步驟二:通過(guò)ovirtengine節(jié)點(diǎn)的管理界面在ovirtnode節(jié)點(diǎn)上新建虛擬機(jī),虛擬機(jī)搭建中標(biāo)麒麟操作系統(tǒng);
步驟三:在ovirtengine節(jié)點(diǎn)上部署openldap服務(wù)端,在虛擬機(jī)上部署openldap客戶端;
步驟四:利用linux中的rpmbuild制作pam(可插拔式認(rèn)證模塊)認(rèn)證結(jié)構(gòu)和gdm-plugin的rpm包以搭建sso(單點(diǎn)登錄);
步驟五:安裝rpm包以實(shí)現(xiàn)sso;
步驟六:設(shè)置虛擬機(jī)的靜態(tài)ip地址和dns(域名系統(tǒng)),并將虛擬機(jī)與openldap服務(wù)端連通;
步驟七:使用getent獲取用戶信息。
進(jìn)一步地,在步驟六之后進(jìn)一步包括利用ldapsearch檢測(cè)虛擬機(jī)和openldap服務(wù)端之間的連通性。
進(jìn)一步地,在獲取用戶信息之后,重新登錄ovirt用戶界面時(shí),不需要輸入用戶名和密碼便可直接登錄虛擬機(jī)。
進(jìn)一步地,ovirtengine節(jié)點(diǎn)和ovirtnode節(jié)點(diǎn)部署在不同的服務(wù)器上。
根據(jù)本發(fā)明,提供一種基于中標(biāo)麒麟操作系統(tǒng)的單點(diǎn)登錄裝置,該裝置包括:
部署ovirtengine節(jié)點(diǎn)和ovirtnode節(jié)點(diǎn)的裝置;
通過(guò)ovirtengine節(jié)點(diǎn)的管理界面在ovirtnode節(jié)點(diǎn)上新建虛擬機(jī)的裝置,虛擬機(jī)搭建中標(biāo)麒麟操作系統(tǒng);
在ovirtengine節(jié)點(diǎn)上部署openldap服務(wù)器,并在虛擬機(jī)上部署openldap客戶端的裝置;
利用linux中的rpmbuild制作pam認(rèn)證結(jié)構(gòu)和gdm-plugin的rpm包以搭建sso的裝置;
安裝rpm包以實(shí)現(xiàn)sso的裝置;
設(shè)置虛擬機(jī)的靜態(tài)ip地址和dns,并將虛擬機(jī)與openldap服務(wù)端連通的裝置;
使用getent獲取用戶信息的裝置。
進(jìn)一步地,該裝置進(jìn)一步包括利用ldapsearch檢測(cè)虛擬機(jī)和openldap服務(wù)端之間的連通性的裝置。
進(jìn)一步地,在使用getent獲取用戶信息之后,重新登錄ovirt用戶界面時(shí),不需要輸入用戶名和密碼便可直接登錄虛擬機(jī)。
進(jìn)一步地,ovirtengine節(jié)點(diǎn)和ovirtnode節(jié)點(diǎn)被部署在不同的服務(wù)器上。
根據(jù)本發(fā)明,提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序(指令),用于實(shí)現(xiàn)基于中標(biāo)麒麟操作系統(tǒng)的單點(diǎn)登錄,其特征在于,程序(指令)被處理器執(zhí)行時(shí)實(shí)現(xiàn)基于中標(biāo)麒麟操作系統(tǒng)的單點(diǎn)登錄方法的步驟。
本發(fā)明主要針對(duì)虛擬機(jī)單點(diǎn)登陸,用戶只需要登陸一次用戶界面,便無(wú)需再次輸入用戶名和密碼,可以訪問(wèn)所有相互信任的虛擬機(jī)。當(dāng)用戶第一次訪問(wèn)應(yīng)用系統(tǒng)中,因?yàn)檫€沒(méi)有登陸,會(huì)被引導(dǎo)進(jìn)認(rèn)證系統(tǒng)中進(jìn)行登陸;根據(jù)用戶提供的登陸信息,認(rèn)證系統(tǒng)進(jìn)行身份驗(yàn)證,若驗(yàn)證通過(guò),會(huì)給用戶一個(gè)token,當(dāng)再次訪問(wèn)其他虛擬機(jī)時(shí),用戶使用這個(gè)token作為自己的認(rèn)證憑據(jù),若通過(guò)驗(yàn)證,則用戶無(wú)需再次登陸即可訪問(wèn)其他虛擬機(jī),從而提高工作效率,簡(jiǎn)化應(yīng)用系統(tǒng)操作過(guò)程;同時(shí)還可以規(guī)避密碼安全風(fēng)險(xiǎn)、增加信息系統(tǒng)的安全性。
附圖說(shuō)明
圖1為根據(jù)本發(fā)明的一個(gè)實(shí)施例的基于中標(biāo)麒麟操作系統(tǒng)的單點(diǎn)登錄的流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
要實(shí)現(xiàn)單點(diǎn)登陸,需要所有系統(tǒng)中使用同一個(gè)身份認(rèn)證系統(tǒng),這是實(shí)現(xiàn)sso的前提。本發(fā)明采用的身份認(rèn)證系統(tǒng)是openldap,所有用戶統(tǒng)一由openldap進(jìn)行管理。openldap將用戶登陸信息與用戶信息庫(kù)進(jìn)行比較,驗(yàn)證用戶信息,驗(yàn)證成功,用戶可利用openldap產(chǎn)生的token登陸系統(tǒng);
圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的基于中標(biāo)麒麟操作系統(tǒng)的單點(diǎn)登錄方法的流程圖。如圖所示,方法開(kāi)始于框101。在框101,部署兩臺(tái)服務(wù)器a、b,在服務(wù)器a上部署ovirt云管理平臺(tái)engine節(jié)點(diǎn)并新建用戶ldapuser1,在服務(wù)器b上部署ovirtnode節(jié)點(diǎn),方法前進(jìn)到框102。在框102,利用ovirtengine管理界面在ovirtnode節(jié)點(diǎn)上新建虛擬機(jī),該虛擬機(jī)搭載有中標(biāo)麒麟操作系統(tǒng),方法前進(jìn)到框103。在框103,在ovirtengine節(jié)點(diǎn)上搭建openldap服務(wù)端,在ovirtnode節(jié)點(diǎn)上部署openldap客戶端,方法前進(jìn)到框104。在框104,下載ovirt-guest-agent的源碼,搭建gcc、python、makefile環(huán)境,利用centos系統(tǒng)(社區(qū)企業(yè)操作系統(tǒng)),通過(guò)命令rpmbuildovirt-guest-agent生成中標(biāo)麒麟操作系統(tǒng)下專用的rpm包,并在虛擬機(jī)上自行安裝,方法前進(jìn)到框105。在框105,設(shè)置虛擬機(jī)并將虛擬機(jī)與openldap連通,具體如下:(1)制作gdm-ovirtcred:gdm-ovirtcred需要經(jīng)過(guò)pam_ovirt_cred.so的驗(yàn)證,無(wú)需經(jīng)過(guò)pam_selinux.so的驗(yàn)證,將gdm-ovirtcred中的sessionrequired中pam_selinux.so設(shè)置為關(guān)閉狀態(tài),同時(shí)需要將session中的password-auth設(shè)置未required;(2)進(jìn)行g(shù)dm-plugin打包:編寫(xiě)gdm-plugin的spec文件,利用rpmbuild將spec文件打包成gdm-plugin;(3)在中標(biāo)麒麟操作系統(tǒng)中安裝spice-vdagent、nslcd、gdm-plugin、pam-module、openldapclient,并執(zhí)行authconfig-tui設(shè)置采用openldap認(rèn)證方式,uri修改為openldap服務(wù)器地址,base修改為openldap服務(wù)器的域;(4)修改system-auth文件代碼,添加sessionoptional:pam_mkhomedir.soskel=/etc/skel,umask=0022,方法前進(jìn)到框106。在框106,檢測(cè)虛擬機(jī)和openldap的連通性,執(zhí)行命令suldapuser1和命令getentpasswdldapuser1以確認(rèn)用戶ldapuser1是否可正常登陸,方法前進(jìn)到框107。在框107,獲取用戶信息,根據(jù)用戶信息,認(rèn)證系統(tǒng)進(jìn)行身份驗(yàn)證,若驗(yàn)證通過(guò),登錄虛擬機(jī),并且系統(tǒng)會(huì)返回一個(gè)token,關(guān)閉虛擬機(jī)控制臺(tái),當(dāng)用戶再次登錄用戶界面時(shí),重新開(kāi)啟虛擬機(jī),用戶無(wú)需輸入用戶信息便可訪問(wèn)其他虛擬機(jī)。至此,實(shí)現(xiàn)了單點(diǎn)登錄。
本發(fā)明還提供了一種實(shí)現(xiàn)上述方法的裝置,該裝置包括:分別在兩臺(tái)服務(wù)器上部署ovirtengine節(jié)點(diǎn)和ovirtnode節(jié)點(diǎn)的裝置;通過(guò)ovirtengine節(jié)點(diǎn)的管理界面在ovirtnode節(jié)點(diǎn)上新建虛擬機(jī)的裝置,其中,虛擬機(jī)搭建中標(biāo)麒麟操作系統(tǒng);在ovirtengine節(jié)點(diǎn)上部署openldap服務(wù)器,并在虛擬機(jī)上部署openldap客戶端的裝置;利用linux中的rpmbuild制作pam認(rèn)證結(jié)構(gòu)和gdm-plugin的rpm包以搭建sso的裝置;安裝rpm包以實(shí)現(xiàn)sso的裝置;設(shè)置虛擬機(jī)的靜態(tài)ip地址和dns,并將虛擬機(jī)與openldap服務(wù)端連通的裝置;利用ldapsearch檢測(cè)虛擬機(jī)和openldap之間的連通性的裝置;以及使用getent獲取用戶信息的裝置。由此,在使用getent獲取用戶信息之后,認(rèn)證系統(tǒng)根據(jù)用戶提供的登錄信息進(jìn)行身份驗(yàn)證時(shí),若驗(yàn)證通過(guò),會(huì)給用戶一個(gè)token,當(dāng)再次登錄ovirt用戶界面時(shí),不需要輸入用戶名和密碼便可直接登錄虛擬機(jī),進(jìn)而實(shí)現(xiàn)單點(diǎn)登錄。
關(guān)于這里所述的過(guò)程、系統(tǒng)、方法等,應(yīng)理解的是雖然這樣的過(guò)程等的步驟描述為按照一定的順序排列發(fā)生,但這樣的過(guò)程可以采用以這里描述的順序之外的順序完成的描述的步驟實(shí)施操作。進(jìn)一步應(yīng)該理解的是,某些步驟可以同時(shí)執(zhí)行,可以添加其他步驟,或者可以省略這里所述的某些步驟。換言之,這里的過(guò)程的描述提供用于說(shuō)明某些實(shí)施例的目的,并且不應(yīng)該以任何方式解釋為限制要求保護(hù)的發(fā)明。
相應(yīng)地,應(yīng)理解的是上面的描述的目的是說(shuō)明而不是限制。在閱讀上面的描述時(shí),除了提供的示例外許多實(shí)施例和應(yīng)用都是顯而易見(jiàn)的。本發(fā)明的范圍應(yīng)參照所附權(quán)利要求以及與權(quán)利要求所要求的權(quán)利等效的全部范圍而確定,而不是參照上面的說(shuō)明而確定??梢灶A(yù)期的是這里所討論的領(lǐng)域?qū)⒊霈F(xiàn)進(jìn)一步的發(fā)展,并且所公開(kāi)的系統(tǒng)和方法將可以結(jié)合到這樣的未來(lái)的實(shí)施例中??傊?,應(yīng)理解的是本發(fā)明能夠進(jìn)行修正和變化。
還應(yīng)當(dāng)理解的是,任何所述的過(guò)程或所述過(guò)程中的步驟可以與其它公開(kāi)的過(guò)程或步驟組合以形成本公開(kāi)范圍內(nèi)的結(jié)構(gòu)。本文公開(kāi)的示例性結(jié)構(gòu)、和過(guò)程是為了說(shuō)明的目的,而不應(yīng)被解釋為限制。