-
通过getopt函数解析命令行参数,开发了一个基于Linux系统的C语言编程实现的用户、用户组及用户策略管理系统,该系统能够连接MySql数据库
资源介绍
内容:
1、Linux系统C语言编程连接MySql数据库实现的用户 用户组 用户策略 管理系统(getopt解析命令行参数).c 代码的源文件。
user-usergroup-authoritys.vsd user-usergroup-authoritys.jpg 数据库的图,以及图片。
2、部分操作:
显示操作 -S
//-S显示名为xxx用户具体信息(所在组、改组定义了什么策略) 提示必须加-n参数
./userGroupUser users -S //显示用户表 用户组表 所有信息
./userGroupUser users -S -n root //显示用户表内 name=root的用户的信息
//可以显示该用户对应用户组内 所在的组 定义的策略信息
新增操作 -A
/* 全:./userGroupUser users -A s -n test3 -p test3 -a 2 -groot -rasdc*/
/**添加用户 (-g(+) group ; -r(+) remark)**/
//新增用户的时候必须有-n|-p|-a选项 name password authentication
//一次性输入所有选项也是错误的 需要为每个参数赋值
// printf("ADD -- Please enter necessary parameters -n|-p|-a,and assign a value to each parameter!\n");
//-g的参数必须紧跟 否则改用户会默认加入root组;
//-r的参数必须紧跟 否则判定为输入为空
//当-g选项没有加参数时候 默认该用户属于root组;
//-g后的参数不存在则加入失败,提示该用户组不存在
./userGroupUser users -A -n ddf -p aa -a 1//添加用户 name=ddf authentication=1 默认加到用户组root
//insert into users values(7,'ddf','aa','2018-7-2 16:23:39',1,1,' ','KEY认证需要的文件','');
./userGroupUser users -A -n dds -a 1 -p sd -rkj -gaa //添加用户 name=dds authentication=1 group=aa
//insert into users values(6,'dds','sd','2018-7-2 16:20:33',1,1,' ','KEY认证需要的文件','kj');
//-g后的参数 用户组名不存在不允许加入users usergroups表
/**添加用户组 (-e(+) enable; -o(+) policy; -r(+) remark)**/
/*全: ./userGroupUser usergroups -A -n dd -e1 -oWEB,HTTP -rddWH*/
//新增用户时候有必须参数-n选项 name
//只有-n参数时候 策略状态( enable_type_)为0 默认策略( policy_type_)为所有策略资源
//其他参数 -e(+) 策略状态enable; -o(+)策略类型policy; -r(+) 标记内容remark
./userGroupUser usergroups -A //提示 Please enter other parameters when you want to add someone!!
./userGroupUser usergroups -A -n aa //用户组表中添加name=aa policy默认如下 remark默认为空 的用户组信息
//insert into usergroups values(2,'aa','2018-7-2 16:14:19',0,'GET,HEAD,POST,PUT,DELETE,OPTIONS','')
./userGroupUser usergroups -A -n aa -oGET -rasd //向用户组中添加 name=aa policy=GET remark=asd的用户
//insert into usergroups values(2,'aa','2018-7-2 16:14:46',0,'GET','asd');
修改操作
/**修改用户**/
/*全:./userGroupUser users -E -n test33 -p test33 -a 1 -gaa -rtest3totest33 where name test3 password test3*/
//修改用户操作必须有where name password 字符;且where后个数需为偶数; name password参数需参数值
//判断要进行改的用户是不是管理员用户,禁止对管理员用户进行任何操作
//参数 :-n newname;-p newpassword;-a authentication; -ggroup; -rremark;
./userGroupUser users -E -n test22 where name test2 password test2 //把名为test2密码为test2的用户名改为test22
/**修改用户组**/
/*全:./userGroupUser usergroups -E -n aaa -e1 -oGET,HEAD -raatoaaa where name aa*/
//修改用户组操作必须有where name字符;且where后个数需为偶数; name 参数需参数值
//判断要进行改的用户是不是管理员用户,禁止对管理员用户进行任何操作
//参数 : -n newname;-eenabled ; -opolicy; -rremark;
./userGroupUser usergroups -E -n AA where name aa//把aa用户名改为AA
./userGroupUser usergroups -E -n csa -e1 -oAAA,WEB,HTTP -rAAA where name aaa
//修改 用户组name为aaa为 name=csa enable=1 policy=AAA,WEB,HTTP remark=AAA
删除操作
./userGroupUser users -D // 提示 Please enter other parameters when you want to add someone!!
./userGroupUser users -D -n root -p r //root用户不允许删除
//name或passwd 不正确不允许删除
./userGroupUser usergroups -D //提示 Please enter other parameters when you want to add someone!!
./userGroupUser usergroups -D -n as//判断是否有用户属于该用户组 若有用户属于该用户组 不允许删除该用户组
//root 用户组不允许删除