am335x 一个按键实现重置 ip 和 root passwd
* 其实做法很简单,我连按键驱动都没有去写,读取 gpio 的值然后 拷贝了一份 /etc/network/interfaces_bak 为 interfaces ,用脚本重新设置了一次root 密码。
* 代码如下:
# 在开机的脚本把需要的 GPIO节点打开
# 位置为 /etc/init.d/S90aplex
echo 29 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio29/direction
echo 44 > /sys/class/gpio/export
// 将这份代码编译出来然后加入开机脚本后台运行
#include <unistd.h>
#include <stdio.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#define VAL_FILE "/sys/class/gpio/gpio44/value"
int main(void)
{
int val_fd, ret_val;
char val;
val_fd = open(VAL_FILE, O_RDONLY);
if (val_fd < 0)
{
perror("open device");
return -1;
}
while(1)
{
lseek(val_fd, SEEK_SET, 0);
ret_val = read(val_fd, &val, 1);
if (val == '0')
{
system("/etc/init.d/reset_ip.sh");
sleep(1);
}
usleep(500000);
}
close(val_fd);
return 0;
}
# reset_ip.sh
#!/bin/sh
passwd root <<EOF
root
root
EOF
cp /etc/network/interfaces_bak /etc/network/interfaces -rf
/etc/init.d/S40network restart
rm /etc/ssh/ssh_host*
sync
am335x 一个按键实现重置 ip 和 root passwd的更多相关文章
- centos6 一个vlan配置多ip地址
添加vlan [root@localhost network-scripts]# vconfig add eth1 109 配置文件,此处配置了vlan109使用子接口进行多ip配置: [root@l ...
- Linux/CentOS服务器 一个网卡绑定多IP地址(永久设置)
有时我们在使用 Linux 服务器时需要配置多个IP地址.如果要配置多个IP地址是否需要多块网卡呢?答案是否定的.以 CentOS 系统为例,多个 IP 地址是可以共享一块物理网卡的. 如何永久为单网 ...
- 批处理脚本一键重置mysql的root密码
一键重置mysql的root密码的实现脚本. @echo off title mysql ::从注册表找到Mysql的安装路径写入文件mysql.txt reg query HKLM\SYSTEM\C ...
- windows下重置mysql的root密码方法介绍(转)
自己在内网操作的,遇到了一些的问题,其中一个是需要重置密码的,所以网上找了两篇文章,都有一些借鉴的地方. 版本mysql5.7.2,linux系统 除了参考文章还有几点说明: service mysq ...
- 【wenqi】重置Centos 7 Root密码
重置Centos 7 Root密码的方式和Centos 6完全不同.下面展示一下到底如何操作. 1 - 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linux ...
- 重置Mysql的root密码及用户权限设置
一.重置Mysql的root密码 方法一: 直接进入localhost/phpmyadmin修改用户root的权限,设置密码: 方法二: 进入mysql控制台:mysql->use mysql ...
- [爬虫]一个易用的IP代理池
一个易用的IP代理池 - stand 写爬虫时常常会遇到各种反爬虫手段, 封 IP 就是比较常见的反爬策略 遇到这种情况就需要用到代理 IP, 好用的代理通常需要花钱买, 而免费的代理经常容易失效, ...
- 重置mysql的root密码
由于本人记性比较差,今天的mysql的root密码又忘记了,咋办呢?只能重置root的密码了.具体的操作步骤如下: 1. 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行, ...
- windows 下重置 mysql 的 root 密码
今天发现 WordPress 连接不上数据库,登录 window server 服务器查看,所有服务均运行正常. 使用 root 账号登录 mysql 数据库,结果提示密码不匹配.我突然意识到,服务器 ...
随机推荐
- ECharts学习总结(一):ECharts的第一个图表
在进行echarts图表开发之前先要到echarts官网下载echarts的库文件,我下载的是echarts-2.2.7.然后把库文件放到工程文件web目录下.接下来进行第一个图表的显示步骤如下: 1 ...
- Java Drp项目实战—— 环境搭建
概要 我们要開始一个关于Java项目的开发,那么我们就须要搭建一个关于Java开发的环境,那么搭建一个Java开发环境,都须要些什么东东,又有些什么注意事项呢. 过程 我先将我搭建Java环境的软件和 ...
- 红帽RHOP 8 发布一条龙方案
导读 日前,Canonical的Ubuntu在OpenStack的云系统方面处于业界领先地位.其他诸如IBM类顶级科技公司也有意加入OpenStack的混战,新的专用OpenStack公司(例如Mir ...
- JavaScript计算两个日期的时间差
/** * * @param startTime * @param endTime * @param diffType * @returns {Number|number} * @constructo ...
- SVG Viewer 3.0安装发现SVG Viewer License.txt无法介入写入,安装失败
这几天研究SVG,发现"SVG Viewer 3.0安装发现SVG Viewer License.txt无法介入写入,安装失败"这个问题,晚上没找到解答的答案,后来被我们项目经理搞 ...
- IOS APP开发UI上的尺寸注意问题(屏幕、适配、分辨率)
- TCP协议中的SO_LINGER选项
TCP协议中的SO_LINGER选项 SO_LINGER选项用来设置延迟关闭的时间,等待套接字发送缓冲区中的数据发送完成.没有设置该选项时,在调用close()后,在发送完FIN后会立即进行一些清理工 ...
- es6 - 回调深渊
带着以下疑问来解答以下问题,你会学到很多 1. 回调深渊为什么会出现,为什么需要回调 ? 2. ES6为什么会出现Promise? 3. 回调的作用是什么? 跟闭包有关吗? ES5 ~ ES6 回调深 ...
- JUnit单元测试基础要点
JUnit单元测试基础要点 1.JUnit是一种测试代码的框架,测试的目的是:保证代码没错,而不是保证代码正确. 2.测试类一般不要和目标类放在一起,但编译成的class文件是放在一起的. 3.单元测 ...
- Object.defineProperty 监听对象属性变化
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...