freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

h20xx032045_一種遠程管理linux系統(tǒng)工具的設(shè)計與實現(xiàn)-資料下載頁

2024-09-05 07:31本頁面

【導(dǎo)讀】為了實現(xiàn)遠程配置和管理Linux中的各種服務(wù),需要有一種遠程管理Linux. 該工具主要功能實現(xiàn)對Linux系統(tǒng)用戶和組的添加、修改和刪除;對系。編程來實現(xiàn)客戶端和服務(wù)端之間的數(shù)據(jù)通信。通過系統(tǒng)測試后,完成預(yù)期的目。標,但是需要進一步完善程序和考慮安全性后,方可應(yīng)用于實際的遠程管理。

  

【正文】 的名字加入點格式后在判斷配置文件中有沒有 zone 存在,如果 第 17 頁 共 33 頁 存在就發(fā)送一個 zone name is exist字符串到客戶端,退出 DNS 配置,不 存在再把 zone 字和類型格式化為 /var/named/chroot/etc/ 中 zone 存儲格式,然后把格式化后的數(shù)據(jù)存儲到配置文件中,存儲成功后發(fā)送 zone add succseed到客戶程序。 刪除 zone 操作先接收客戶程序發(fā)送過來的數(shù)據(jù) (要刪除的 zone 名 ),判斷 配置文件中是否有發(fā)送過來 zone 名存在,如果沒有就向客戶發(fā)送 zone name is not exist字符串;如果有就讀取配置文件的數(shù)據(jù)到內(nèi)存 (buff)中 ,再把 buff 內(nèi)存中的數(shù)據(jù)刪除要刪除的部分,然后再把 buff 中的數(shù)據(jù)寫入到配置文件中。 寫入成功后發(fā)送 zone delete succsed字符串到客戶程序。 添加 domian 操作先接收客戶程序發(fā)送過來的數(shù)據(jù) (要添加的 domain 名,IP 和 zone 名 ),然后判斷 /var/named/chroot/etc/ 中是否 有這個 zone 存在,沒有就發(fā)送 zone name is not exist到客戶程序,如果有就得到其 數(shù)據(jù)文件名字。然后把 domian 和 IP 格式化后寫入到數(shù)據(jù)文件中。 刪除 domain 操作先接收客戶程序發(fā)送的數(shù)據(jù) (要刪除的 domain,和 zone), 然后判斷 /var/named/chroot/etc/ 中是否有這個 zone 存在,如果 沒有就發(fā)送 zone name is not exist到客戶程序,如果有就得到其數(shù)據(jù)文 件名字,然后在數(shù)據(jù)文件 中查看是否有 domain 存在,如果沒有就發(fā)送 Domain name is not exist到客戶程序,如果有就刪除 domain 部分,然后發(fā)送 Domain del succseed到客戶程序。 (5) Apache 服務(wù)管理操作 Apache 模塊主要是完成:向客戶程序發(fā)送當(dāng)前的一些 Apache 錯誤日志; 通過客戶發(fā)送過來的數(shù)據(jù)進行一些簡單的配置; Apache 服務(wù)的開啟、關(guān)閉和重 啟功能,其流程如圖 8 所示。 Apache 服務(wù)停止、啟動和重啟操作是通過 exec 調(diào)用 Apache 停止、啟動和 重啟的 shell 腳本來完成的。然后再讀取環(huán)境變量,然后向客戶程序發(fā)送操作 結(jié)果。 發(fā)送配置文件內(nèi)容操作是讀取 Apache 配置文件的內(nèi)容,然后把讀取的內(nèi)容 發(fā)送到客戶程序。 修改配置文件操作,先是接收客戶程序發(fā)送過來的數(shù)據(jù) (要修改的內(nèi)容 ), 然后在配置文件中查找要修改的位置,把客戶程序發(fā)送過來的數(shù)據(jù)寫到配置文 件中。 查看錯誤日志操作,讀取錯誤日志中的數(shù)據(jù),在把數(shù)據(jù)發(fā)送到客戶程序。 第 18 頁 共 33 頁 Net_DNS_Config () recv() 字符 stop viewlog start saveconfig restart refresh 服務(wù)停 服務(wù)啟 止操作 動操作 服務(wù)重 啟操作 發(fā)送配 置文件 內(nèi)容 修改配 置文件 的操作 查看錯 誤日志 的操作 退出系統(tǒng)啟 動服務(wù)管理 到圖 3 的 recv() 圖 8 Apache 流程圖 (6) FTP 服務(wù) 管理操作 FTP 模塊主要完成的是對 FTP 服務(wù)的停止、修改和重啟,和通過客戶程序 發(fā)送過來的數(shù)據(jù)對 FTP 的配置文件進行簡單的修改。其流程如圖 9 所示。 FTP 服務(wù)停止、啟動和重啟操作是通過 exec 調(diào)用 FTP 停止、啟動和重啟的 shell 腳本來完成的。然后在讀取環(huán)境變量,然后向客戶程序發(fā)送操作結(jié)果。 發(fā)送配置文件內(nèi)容操作是讀取 FTP 配置文件的內(nèi)容,然后把讀取的內(nèi)容發(fā) 送到客戶程序。 修改配置文件操作,先是接收客戶程序發(fā)送過來的數(shù)據(jù) (要修改的內(nèi)容 ), 找到要修改數(shù)據(jù)的位 置,把收到的數(shù)據(jù)寫入到文件中。 第 19 頁 共 33 頁 Net_DNS_Config () recv() 字符 stop start saveconfig restart refresh 服務(wù)停 服務(wù)啟 止操作 動操作 服務(wù)重 啟操作 發(fā)送配 置文件 內(nèi)容 修改配 置文件 的操作 退出系統(tǒng)啟 動服務(wù)管理 到圖 3 的 recv() 圖 9 FTP 流程圖 客戶程序 設(shè)計思路 客戶端的作用有兩個:一是為用戶提供操作界面;二是和服務(wù)器端進行數(shù) 據(jù)通信。 在用戶界面方面,采用 GTK 編程來建立用戶界面,把實現(xiàn)的功能接口通過 界面的方式提供給用戶,讓用戶來進行相關(guān)的操作。在和服務(wù)器通信方面是通 過 SOCK 編程來實現(xiàn)的。把用戶操作后的結(jié)果通過 SOCK 來傳達給服務(wù)器程序。 讓服務(wù)器程序通過 SOCK 傳遞的數(shù)據(jù)來對服務(wù)器的配置。 在模塊劃分方面。主要是通過功能來劃分為:用戶和組的操作、 DNS 配置、 Apache 的配置、 FTP 的配置、啟動服務(wù)管理。 程序設(shè)計 客戶程序一共有兩個窗體,連接窗體和主窗體。 l 連接界面的編寫 首先是連接界面的編寫,主要是用于和服務(wù)器端的連接。除了用 GTK 編寫 界面以外還要用到 SOCK 編程來進行和服務(wù)器端的 TCP 連接的建立。連接界面是 這個程序的第 1 個界面,其流程圖如圖 10 所示。 第 20 頁 共 33 頁 main() gtk_init() CForm() 按下連接按鈕 sock() connect() 連接建立 TCP3 次握手 否 連接成功 是 主界面 圖 10 連接界面的流程圖 程序從 main()進入以后就調(diào)用 gtk_init()函數(shù)。 gtk_init()函數(shù)功能初始化 GTK,并且分析在命令行中傳遞進來的參數(shù)。命令行中傳遞過來的任何參數(shù),只 要是它能識別的,都會從列表中刪除,并且修改 argc和 argv的值,就像這些參數(shù) 從不存在一樣,然后應(yīng)用程序分析剩余的參數(shù)。 然后進入 CForm()函數(shù)。這個函數(shù)主要功能是創(chuàng)建連接界面,并且當(dāng)用戶 在文本框中輸入了服務(wù)器 IP 地址后,把文本框中的 IP 傳遞給后面的函數(shù),實 現(xiàn)與服務(wù)器網(wǎng)絡(luò)連接。其函數(shù)代碼如下: GtkWidget *textbox。 void CForm(int *sock) { GtkWidget *exitButt,*clloButt,*clloLabl。 GtkWidget *table。 int level。 char *text。 mainWin = gtk_window_new(GTK_WINDOW_TOPLEVEL)。 gtk_window_set_title((GtkWindow*)mainWin,con)。 gtk_window_set_default_size((GtkWindow*)mainWin,80,90)。 第 21 頁 共 33 頁 exitButt = gtk_button_new_with_label(exit)。 clloButt = gtk_button_new_with_label(connect)。 clloLabl = gtk_label_new(Servers IP)。 textbox = gtk_entry_new()。 table = gtk_table_new (2, 3, TRUE)。 gtk_table_set_row_spacing(GTK_TABLE(table),1,10)。 gtk_table_set_row_spacing(GTK_TABLE(table),0,10)。 gtk_table_set_col_spacing(GTK_TABLE(table),1,35)。 gtk_entry_set_text((GtkEntry *)textbox,input severs IP here!)。 text = gtk_entry_get_text((GtkEntry *)textbox)。 gtk_table_attach_defaults((GtkTable*)table,clloLabl,0,1,0,1)。 gtk_table_attach_defaults((GtkTable*)table,textbox,1,2,0,1)。 gtk_table_attach_defaults((GtkTable*)table,clloButt,0,2,1,2)。 gtk_table_attach_defaults((GtkTable*)table,exitButt,0,2,2,3)。 gtk_container_set_border_width (GTK_CONTAINER (mainWin), 0)。 gtk_container_add (GTK_CONTAINER (mainWin), table)。 gtk_signal_connect(GTK_OBJECT(exitButt), clicked, GTK_SIGNAL_FUNC(Destroy), NULL)。 gtk_signal_connect(GTK_OBJECT(mainWin), destroy, NULL, NULL)。 gtk_signal_connect(GTK_OBJECT(clloButt), clicked,GTK_SIGNAL_FUNC(CollFunc), sock)。 gtk_signal_connect_object(GTK_OBJECT(exitButt), clicked,GTK_SI GNAL_FUNC(Destroy), GTK_OBJECT(mainWin))。 gtk_widget_show(mainWin)。 gtk_widget_show(exitButt)。 gtk_widget_show(clloButt)。 gtk_widget_show(clloLabl)。 第 22 頁 共 33 頁 gtk_widget_show(textbox)。 gtk_widget_show(table)。 gtk_main()。 } 上面函數(shù)大概反映了 GTK 變成中常用的構(gòu)件和函數(shù)。前面對里面大部分代 碼介紹過了。這里就不詳細介紹了。但是需要指出的是 gtk_signal_connect(GTK_OBJECT(clloButt), clicked, GTK_SIGNAL_FUNC(CollFunc), sock)。 這個函數(shù)主要是用來綁定 X 事件,也就是當(dāng)用戶按下了連接按鈕后調(diào)用 CollFunc()這個函數(shù)。 CollFunc()主要作用是讀取文本框中的字符,并且用這 個來作為連接服務(wù)器的 IP,向服務(wù)器提出連接請求,連接成功就進入主界面, 并且銷毀連接界面的構(gòu)件。不成功就返回到連接界面。 CollFunc()函數(shù)如下: void CollFunc( GtkWidget *widget,gpointer data ) { int *sock,result。 char *text = NULL。 sock = data。 text = gtk_entry_get_text((GtkEntry *)textbox)。 *sock = make_cli_sock(text,13000)。 if(*sock 0){return 。} init_cli(sock)。 mainform(sock)。 gtk_widget_destroy(mainWin)。 } l 主界面 當(dāng)用戶端和服務(wù)器端連接成功后,就進入主窗體流程了,在主窗體建立前 要接收一些從服務(wù)程序發(fā)送過來的數(shù)據(jù),然后把這些數(shù)據(jù)存放到一些臨時文件 里面,等待具體創(chuàng)建窗體的時候調(diào)用這些數(shù)據(jù)來初始化界面。其流程如圖 11 所示。 第 23 頁 共 33 頁 gtk_widow_new UserControl Apache DNS InitServer GroupContro ftp gtk_main() 把控制權(quán)戰(zhàn)時交給了 X 系統(tǒng)等待用戶操作 圖 11 主界面的大概流程圖 主窗體有各個功能模塊的操作頁面,程序主界面如圖 12 所示。 圖 12 程序主界面 (1)用戶操作
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1