论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP Java Web .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > 计算机科学与技术 >

一种远程管理linux系统工具(论文+程序)

5.2.2   功能模块

(1)    系统用户管理操作 http://www.paper51.com

和客户程序建立了连接,并且收到了user字符串后,服务程序进入系统用户管理操作模块,接着接收客户程序发送过来的数据(字符串),通过数据来判断是对用户的添加、删除、浏览或修改操作。接收到了“adduser”字符串就进入添加用户流程;接收到“deluser”字符串就进入删除用户流程;接收到“scanuser”字符串就进入了浏览用户流程;接收到“property”字符串就进入到了修改用户流程,系统用户管理操作流程如图4所示。

内容来自www.paper51.com

http://www.paper51.com

图4 用户操作流程 http://www.paper51.com

对用户的操作是添加、删除和修改用户,Linux用户都是记录在/etc/passwd文件中,对用户添加、删除和修改都是通过修改/etc/passwd文件来实现。/etc/passwd的用户都是按照统一存格式来存储,格式举例如下: paper51.com

terrycheops:x:500:500:terrycheop:/home/terrycheops:/bin/bash copyright paper51.com

存储中每个字段都用“:”隔开的,第一字段:用户名(也被称为登录名),在上面的例子中,我们看到用户的用户名是terrycheops;第二字段:口令,在例子中我们看到的是一个x,其实密码已被映射到/etc/shadow 文件中;第三字段:用户的ID;第四字段:用户组的ID;第五字段:用户名全称,可选项;第六字段:用户的家目录所在位置,该用户的是/home/terrycheops。第七字段:用户所用Shell的类型,一般设置为/bin/bash。 内容来自论文无忧网 www.paper51.com

程序进入到了添加用户后,接收客户程序传过来要添加的用户信息(用户名、密码、全名)。把客户程序发送过来的用户密码用MD5算法加密,把加密后的密码和用户其他数据按照/etc/passwd的格式复制到字符串变量(str)中。用C语言的流的读操作打开文件/etc/passwd,读取/etc/passwd中的每一行,把每次读取的数据都复制到二维数组(temp)中,关闭文件。再以写的形式打开文件,然后把上面二维数组(temp)的内容写到文件中,最后再把变量(str)写到文件中,这样就实现了用户的添加。

内容来自www.paper51.com

程序进入到了删除用户流程后,接收客户程序要删除用户的用户名。用C中流的操作打开文件/etc/passwd,判断读取的数据,当要删除的用户名和读取的用户名一致时就不把这个用户信息复制到二维数组(temp);读取用户名和删除用户名不一样就把读取数据复制到temp中。然后关闭这个流。重新以写文件的操作打开文件/etc/passwd,然后把二维数组(temp)中的数据的以流的形式在写入到文件/etc/passwd中,这样就实现了用户的删除。 paper51.com

用户修改过程,接收客户程序发送过来的数据后,把接收的数据格式化复制到str中。以C语言中流的操作打开并且读取文件/etc/passwd的数据,判断读取的数据,当要修改的用户名和读取的用户名一致时把str数据复制到二维数组(temp);读取用户名和修改的用户名不一致时就把读取数据复制到temp中。然后关闭这个流。重新以写文件的操作打开文件/etc/passwd,然后把二维数组(temp)中的数据以流的形式再写入到文件/etc/passwd中,这样就完成了修改用户的操作 内容来自www.paper51.com

当进入浏览用户的流程后,打开/etc/passwd文件,把文件的数据读取到buff中,再关闭文件,把buff的数据发送的到客户程序,让客户程序显示当前的用户信息。

paper51.com

(2)    系统用户组的操作

copyright paper51.com

用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件。etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。对组的操作都是通过修改/etc/group来实现的,主要是对组的添加删除和修改。 内容来自论文无忧网 www.paper51.com

进入到组添加流程后,接收客户端发送过来要添加的组的信息,然后把接收的数据格式按照/etc/group存储格式格式化后复制到str中。然后打开文件/etc/group,读取文件中组的数据复制到二维数组(temp)中,关闭文件。在打开文件/etc/group把temp的数据写到文件中去,最后把str写入到文件中,关闭文件,这样就实现了组的添加。

paper51.com

组的删除过程,读取客户程序发送过来的数据,然后打开/etc/group文件,读取文件的数据,当读取的数据和发送过来的组名一样,就不把读取数据复制到二维数组(temp)中,其它都把读取的数据复制到temp中,关闭打开的文件。再次打开文件/etc/group,把temp的数据都写到文件中,关闭文件,这样就完成组的删除操作。

http://www.paper51.com

组的修改过程,接收客户端发送过来要添加组的信息,然后把接收的数据格式按照/etc/group存储格式格式化后存复制到str变量中。然后打开/etc/group文件,读取文件的数据,当读取的数据和发送过来的组名一样,就把str复制到temp中,其它都把读取的数据复制到temp中,关闭打开的文件。再次打开文件/etc/group,把temp的数据都写到文件中,关闭文件,这样就完成组的修改操作。

paper51.com

浏览组的过程,当程序到了浏览组的流程后,打开/etc/group文件,把文件的数据读取到buff中,再关闭文件,把buff的数据发送的到客户程序。让客户程序显示当前的用户信息。 copyright paper51.com

用户组操作的流程如图5所示。 paper51.com

内容来自论文无忧网 www.paper51.com

                                                  copyright paper51.com

图5 组操作流程

http://www.paper51.com

(3)    系统服务启动管理 内容来自www.paper51.com

系统服务启动管理和其他的操作不大一样,其他的操作是通过修改配置文件来实现的,而系统服务的启动是通过添加和删除链接文件来完成的。其流程如图6所示。 copyright paper51.com

http://www.paper51.com

图6 系统启动服务管理流程

内容来自www.paper51.com

服务程序进入到图3的InitAction()函数就进入了系统服务启动管理流程,接收客户程序发送过来的数据,这里发送过来的是一个有5个字符串的数组。判断字符串的第1个字符,如果是1的话就调用系统调用link()把/etc/init.d/namedshell脚本链接为/etc/rc.d/rc5.d/S11named文件;如果字符是0就调用unlink()取消/etc/rc.d/rc5.d/S11named文件的链接。然后再判断第2个字符,是1就把/etc/init.d/http shell文件链接为/etc/rc.d/rc5.d/S85httpd文件;如果第2个字符是0,就取消文件/etc/rc.d/rc5.d/S85httpd的链接。然后判断第3个字符,是1就调用系统linnk()函数把/etc/init.d/sendmail链接到/etc/rc.d/rc5.d/S80sendmail,是0就取消对/etc/rc.d/rc5.d/S80sendmail的链接。然后就判断第4个字符的值,如果是1话就把/etc/init.d/dhcphell脚本链接为文件/etc/rc.d/rc5.d/S65dhcpd,是0就取消对/etc/rc.d/rc5.d/S65dhcpd的链接。最后再判断第5个字符,是1就把文件/etc/init.d/smb为文件/etc/rc.d/rc5.d/S91smb。否则就取消对/etc/rc.d/rc5.d/S91smb的链接。

内容来自论文无忧网 www.paper51.com

(4)    DNS管理操作 copyright paper51.com

图3的程序流程到Net_DNS_Config()函数就进入DNS功能模块了。该模块主要是为在DNS中添加和删除zone;在zone中添加和删除domain。进入该模块后,服务程序会接收一个客户程序发送的数据,该数据用来控制DNS模块的流程,其流程如图7所示。

copyright paper51.com

paper51.com

------分隔线----------------------------
联系方式