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

正文內容

h20xx032045_一種遠程管理linux系統(tǒng)工具的設計與實現(xiàn)-閱讀頁

2024-09-25 07:31本頁面
  

【正文】 passwd 中的每一行,把 每次讀取的數(shù)據(jù)都復制到二維數(shù)組 (temp)中,關閉文件。 程序進入到了刪除用戶流程后,接收客戶程序要刪除用戶的用戶名。然后關閉這個流。 用戶修改過程,接收客戶程序發(fā)送過來的數(shù)據(jù)后,把接收的數(shù)據(jù)格式化復 制到 str 中。然后關閉這個流。 (2) 系統(tǒng)用戶組 的操作 用戶組( Group)配置文件主要有 /etc/group 和 /etc/gshadow,其中 第 13 頁 共 33 頁 /etc/gshadow 是 /etc/group 的加密信息文件。對組的操作都是通過修改 /etc/group 來實現(xiàn)的,主要是 對組的添加刪除和修改。然后打開文件 /etc/group,讀取文件中組的數(shù)據(jù)復制到二維數(shù)組 (temp)中 ,關閉文件。 組的刪除過程,讀取客戶程序發(fā)送過來的數(shù)據(jù),然后打開 /etc/group 文件, 讀取文件的數(shù)據(jù),當讀取的數(shù)據(jù)和發(fā)送過來的組名一樣,就不把讀取數(shù)據(jù)復制 到二維數(shù)組 (temp)中,其它都把讀取的數(shù)據(jù)復制到 temp 中,關閉打開的文件。 組的修改過程,接收客戶端發(fā)送過來要添加組的信息,然后把接收的數(shù)據(jù) 格式按照 /etc/group 存儲格式格式化后存復制到 str 變量中。 再次打開文件 /etc/group,把 temp 的數(shù)據(jù)都寫到文件中,關閉文件,這樣就完 成組的修改操作。讓 客戶程序顯示當前的用戶信息。 第 14 頁 共 33 頁 group_control() recv() 字符 property exit groupadd groupsca recv() recv() fopen() fget() recv() 把接收的 數(shù)據(jù)格式 化存儲在 字符串 str 中 fopen() send() fopen() fget() 把接收的 數(shù)據(jù)格式 化存儲在 字符串 str 中 相同 把讀取數(shù)據(jù)存 到 2維 數(shù)組 temp 中 fopen() 否 fget() 為空 是 接收和讀 取字的符 不同 把讀取數(shù)據(jù)存 到 2維數(shù)組 temp 中 否 fclose() fget() 為空 是 fclose() fopen() fopen() 把 temp 中的數(shù) 據(jù) fputs()到文 件中 把讀取數(shù)據(jù) 存到 2 維數(shù) 組 temp 中 不同 把 str 存到 2 維 數(shù)組 temp 中 相同 接收和讀 取的字符 否 把 temp 中的數(shù) 據(jù) fputs()到文 件中 fputs(str) 為空 是 fclose() 退出組的操作 到圖 3 的 recv 函數(shù) fopen() 把 temp 中的數(shù) 據(jù) fputs()到文 件中 圖 5 組操作流程 (3) 系統(tǒng)服務啟動管理 系統(tǒng)服務啟動管理和其他的操作不大一樣,其他的操作是通過修改配置文 第 15 頁 共 33 頁 件來實現(xiàn)的,而系統(tǒng)服務的啟動是通過添加和刪除鏈接文件來完成的。 InitAction () recv () 1 link(/etc/, /etc/) 第 1個 字符 0 unlink(/etc/ed) link(/etc/, 1 /etc/) 第 2個 字符 0 unlink(/etc/pd) 1 link(/etc/, /etc/) 第 3個 字符 0 unlink(/etc/S80sendmail) link(/etc/, 1 /etc/) 第 4個 字符 0 unlink(/etc/S65dhcpd) 1 link(/etc/, /etc/) 第 5個 字符 0 unlink(/etc/S91smb) 退出系統(tǒng)啟 動服務管理 到圖 3 的 recv() 圖 6 系統(tǒng)啟動服務管理流程 服務程序進入到圖 3 的 InitAction()函數(shù)就進入了系統(tǒng)服務啟動管理流 程,接收客戶程序發(fā)送過來的數(shù)據(jù),這里發(fā)送過來的是一個有 5 個字符串的數(shù) 第 16 頁 共 33 頁 組。然后再 判 斷 第 2 個 字 符 , 是 1 就 把 /etc//etc/; 如 果 第 2 個 字 符 是 0 , 就 取 消 文 件 /etc/。然后就判斷第 4 個字符 的 值 , 如 果 是 1 話 就 把 /etc//etc/,是 0 就取消對 /etc/。否則就取消對 /etc/。該模塊 主要是為在 DNS 中添加和刪除 zone;在 zone 中添加和刪除 domain。 Net_DNS_Config () recv() 字符 delinzone addzone addtozone delzonel 刪除 domain 操作 添加 zone 操作 刪除 zone 操作 刪除 domain 操作 退出系統(tǒng)啟 動服務管理 到圖 3 的 recv() 退出系統(tǒng)啟 動服務管理 到圖 3 的 recv() 退出系統(tǒng)啟 動服務管理 到圖 3 的 recv() 退出系統(tǒng)啟 動服務管理 到圖 3 的 recv() 圖 7 DNS 流程圖 添加 zone 操作先接收客戶程序發(fā)送過來的數(shù)據(jù) (要添加的 zone 名字和類 型 ),通過 zone 的名字加入點格式后在判斷配置文件中有沒有 zone 存在,如果 第 17 頁 共 33 頁 存在就發(fā)送一個 zone name is exist字符串到客戶端,退出 DNS 配置,不 存在再把 zone 字和類型格式化為 /var/named/chroot/etc/ 中 zone 存儲格式,然后把格式化后的數(shù)據(jù)存儲到配置文件中,存儲成功后發(fā)送 zone add succseed到客戶程序。 寫入成功后發(fā)送 zone delete succsed字符串到客戶程序。然后把 domian 和 IP 格式化后寫入到數(shù)據(jù)文件中。 (5) Apache 服務管理操作 Apache 模塊主要是完成:向客戶程序發(fā)送當前的一些 Apache 錯誤日志; 通過客戶發(fā)送過來的數(shù)據(jù)進行一些簡單的配置; Apache 服務的開啟、關閉和重 啟功能,其流程如圖 8 所示。然后再讀取環(huán)境變量,然后向客戶程序發(fā)送操作 結果。 修改配置文件操作,先是接收客戶程序發(fā)送過來的數(shù)據(jù) (要修改的內容 ), 然后在配置文件中查找要修改的位置,把客戶程序發(fā)送過來的數(shù)據(jù)寫到配置文 件中。 第 18 頁 共 33 頁 Net_DNS_Config () recv() 字符 stop viewlog start saveconfig restart refresh 服務停 服務啟 止操作 動操作 服務重 啟操作 發(fā)送配 置文件 內容 修改配 置文件 的操作 查看錯 誤日志 的操作 退出系統(tǒng)啟 動服務管理 到圖 3 的 recv() 圖 8 Apache 流程圖 (6) FTP 服務 管理操作 FTP 模塊主要完成的是對 FTP 服務的停止、修改和重啟,和通過客戶程序 發(fā)送過來的數(shù)據(jù)對 FTP 的配置文件進行簡單的修改。 FTP 服務停止、啟動和重啟操作是通過 exec 調用 FTP 停止、啟動和重啟的 shell 腳本來完成的。 發(fā)送配置文件內容操作是讀取 FTP 配置文件的內容,然后把讀取的內容發(fā) 送到客戶程序。 第 19 頁 共 33 頁 Net_DNS_Config () recv() 字符 stop start saveconfig restart refresh 服務停 服務啟 止操作 動操作 服務重 啟操作 發(fā)送配 置文件 內容 修改配 置文件 的操作 退出系統(tǒng)啟 動服務管理 到圖 3 的 recv() 圖 9 FTP 流程圖 客戶程序 設計思路 客戶端的作用有兩個:一是為用戶提供操作界面;二是和服務器端進行數(shù) 據(jù)通信。在和服務器通信方面是通 過 SOCK 編程來實現(xiàn)的。 讓服務器程序通過 SOCK 傳遞的數(shù)據(jù)來對服務器的配置。主要是通過功能來劃分為:用戶和組的操作、 DNS 配置、 Apache 的配置、 FTP 的配置、啟動服務管理。 l 連接界面的編寫 首先是連接界面的編寫,主要是用于和服務器端的連接。連接界面是 這個程序的第 1 個界面,其流程圖如圖 10 所示。 gtk_init()函數(shù)功能初始化 GTK,并且分析在命令行中傳遞進來的參數(shù)。 然后進入 CForm()函數(shù)。其函數(shù)代碼如下: GtkWidget *textbox。 GtkWidget *table。 char *text。 gtk_window_set_title((GtkWindow*)mainWin,con)。 第 21 頁 共 33 頁 exitButt = gtk_button_new_with_label(exit)。 clloLabl = gtk_label_new(Servers IP)。 table = gtk_table_new (2, 3, TRUE)。 gtk_table_set_row_spacing(GTK_TABLE(table),0,10)。 gtk_entry_set_text((GtkEntry *)textbox,input severs IP here!)。 gtk_table_attach_defaults((GtkTable*)table,clloLabl,0,1,0,1)。 gtk_table_attach_defaults((GtkTable*)table,clloButt,0,2,1,2)。 gtk_container_set_border_width (GTK_CONTAINER (mainWin), 0)。 gtk_signal_connect(GTK_OBJECT(exitButt), clicked, GTK_SIGNAL_FUNC(Destroy), NULL)。 gtk_signal_connect(GTK_OBJECT(clloButt), clicked,GTK_SIGNAL_FUNC(CollFunc), sock)。 gtk_widget_show(mainWin)。 gtk_widget_show(clloButt)。 第 22 頁 共 33 頁 gtk_widget_show(textbox)。 gtk_main()。前面對里面大部分代 碼介紹過了。但是需要指出的是 gtk_signal_connect(GTK_OBJECT(clloButt), clicked, GTK_SIGNAL_FUNC(CollFunc), sock)。 CollFunc()主要作用是讀取文本框中的字符,并且用這 個來作為連接服務器的 IP,向服務器提出連接請求,連接成功就進入主界面, 并且銷毀連接界面的構件。 CollFunc()函數(shù)如下: void CollFunc( GtkWidget *widget,gpointer data ) { int *sock,result。 sock = data。 *sock = make_cli_sock(text,13000)。} init_cli(sock)。 gtk_widget_destroy(mainWin)。其流程如圖 11 所示。 圖 12 程序主界面 (1)用戶操作
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1