关于/etc/shadow 与 /etc/group的关系,我就不说了,上网搜出来一大箩!
今天,我想如何通过这两个文件的关系来做一个登录的界面。
首先,/etc/shadow里是存储了用户的信息包括密码等,其密码的加密模式有多种,每一种的Linux操作系统都不一样,我这次用的操作系统是Ubuntu 64位,其加密模式是sha512。
那么,我们如何把手上的密码,用PHP语言编写的程序进行加密呢?在php里,有一个crypt的函数
,其使用方法是:crypt(str,salt),解释下:str:加密的字符串;salt:格式与长度。
如:crypt('123456','$6$abcde'),最后得到的是一串加密的字符串。这串字符串就是我们shadow中用户的密码。
现在我们来看看,关键的一步如何通过PHP的权限来获取/etc/shadow的相应用户。经过我在网上搜索了大量的资料,发现最后的方法还是通过调用C程序来获取权限。下面的一段C程序是我已经验证过的代码:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
uid_t uid ,euid;
uid = getuid() ;
euid = geteuid();
printf("my uid :%u/n",getuid()); //这里显示的是当前的uid 可以注释掉.
printf("my euid :%u/n",geteuid()); //这里显示的是当前的euid
if(setreuid(euid, uid)) //交换这两个id
perror("setreuid");
printf("after setreuid uid :%u/n",getuid());
printf("afer sertreuid euid :%u/n",geteuid());
system("less /etc/shadow | grep root"); //执行脚本
return 0;
}
注意:上面代码可以根据自已的需求来改写,如参数传进cmd外部命令等。
录入后,编译代码后叫test,我们还要经过最重要的一步:
su root
chmod u+s test
OK,接下来我们通过PHP的exce函数来调用了。附件是我这次做的实验证。
分享到:
相关推荐
PHP基于Linux的远程管理系统服务器端的实现(源代码+论文).zip 摘要 该课题基于Linux操作系统,主要目的是使系统管理员的远程管理工作更加方便、简单和友好。实现的主要功能有文件操作、命令操作、系统操作、进程操作...
该系统基于Linux操作系统,主要目的是使系统管理员的远程管理工作更加方便、简单和友好。实现的主要功能有文件操作、命令操作、系统操作、进程操作和网络操作,这些基本上涵盖了系统管理的各个方面。在设计上,采用...
本系统分析了Linux操作系统的特点、远程管理的各种方法和...而在Linux系统中,默认的Apache用户权限是无法访问管理系统所需文件,无法运行关键系统命令的,因此,需要对Apache服务器进行一些特殊配置,提升其权限,
该课题基于Linux操作系统,主要目的是使系统管理员的远程管理工作更加方便、简单和友好。实现的主要功能有文件操作、命令操作、系统操作、进程操作和网络操作,这些基本上涵盖了系统管理的各个方面。在设计上,采用...
该课题基于Linux操作系统,主要目的是使系统管理员的远程管理工作更加方便、简单和友好。实现的主要功能有文件操作、命令操作、系统操作、进程操作和网络操作,这些基本上涵盖了系统管理的各个方面。在设计上,采用...
该课题基于 Linux 操作系统,主要目的是使系统管理员的远程管理工作更加 方便、简单和友好。实现的主要功能有文件操作、命令操作、系统操作、进程操 作和网络操作,这些基本上涵盖了系统管理的各个方面。在设计上,...
操作系统:LInux、IOS、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络...
基于workerman做的Linux定时任务控制台(比linux自带的cronjob增加秒级功能).zip 基于workerman做的定时任务控制台,Linux 定时任务控制,比linux自带的cronjob增加秒级功能。 运行环境 php >= 7.0 php扩展需要 pcntl...
介绍这款基于PHP开发的Linux远程管理系统服务器端源码,专为系统管理员设计,提供了一个安全稳定的远程管理平台。系统功能包括用户认证、权限管理、命令执行、文件管理、系统监控等。用户界面简洁直观,操作便捷,...
基于 vue-element-admin 和 PHP CodeIgniter RESTful 实现, 采用前后端分离架构的RBAC响应式后台权限管理系统 软件开发设计:PHP、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#...
MengPHP后台管理系统 基于ThinkPHP5 + layui开发的一套开源PHP快速开发框架,默认集成了权限管理,数据库管理等常用功能,以方便开发者快速构建自己的应用。 软件开发设计:应用软件开发、系统软件开发、移动应用...
5.3.7 建立用户登录和权限 153 5.4 测试数据库 156 5.5 数据库设计 159 5.6 问题 161 5.6.1 标识列(自动增加) 161 5.6.2 SQL一致性 163 5.6.3 执行环境 164 5.7 小结 168 5.8 常见问答 169 第6章 在 Red Hat Linux...
一、PHPYUN人才招聘系统产品配置需求: (1)、PHP5 、Mysql5、Apache2/IIS6 以上环境 (2)、可以运行于Windows、Linux、Mac等多种平台 (3)、浏览器前台需要用户开启Cookie功能(浏览需要IE6、火狐 3.x 以上) 二、PHPYUN...
主要包含:登录、注销、可视化数据大屏、管理员、角色管理、菜单管理、权限管理、错误日志、登录日志、… 软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的...
发卡宝是一款基于PHP语言实现的卡密寄售系统,适用于php5.5-7.3和Mysql5.1-5.7的环境。不论是使用Windows服务器还是Linux服务器,或者是在虚拟主机(PHP)上安装,都可以很方便地进行部署。 该系统提供了两种运营...
PHP天地网络-网络学院全站毕设是一个基于PHP语言开发的全站系统。这个毕设旨在利用PHP语言和相关技术,开发一个高效、稳定、安全的网络学院全站系统,为学生和教师提供优质的在线学习和教学服务。 ## 用户模块 用户...