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 数据库,结果提示密码不匹配.我突然意识到,服务器 ...
随机推荐
- hadoop压缩框架
一般来说,计算机处理的数据都存在一些冗余度,同时数据中间,尤其是相邻数据间存在着相关性,所以可以通过一些有别于原始编码的特殊编码方式来保存数据,使数据占用的存储空间比较小,这个过程一般叫压缩.和压缩对 ...
- 【算法】Logistic regression (逻辑回归) 概述
Logistic regression (逻辑回归)是当前业界比较常用的机器学习方法,用于估计某种事物的可能性.比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等 ...
- winrar X64 win10 破解
破解方法, win10 64位 复制下面内容到 RarReg.key 文件 RAR registration datawncnUnlimited Company LicenseUID=1b064ef8 ...
- Java保存简单偏好的类
该类利用Preferences保存文本,数字等简单数据,在Windows平台下,它就保存到了系统注册表中,而Linux中它存在于用户目录下的一个隐藏文件中. public class Pref{ ...
- Jenkins 安装与使用--实例
參考了博客Jenkins master在windows上安装 Jenkins的主要功能是监视反复工作的运行,比如软件project的构建详细地: *软件的持续构建和測试 本质上提供了一个易于使用的持续 ...
- 黑马程序员:多线程Socket
---------------------- ASP.Net+Android+IOS开发..Net培训.期待与您交流! ----------------------- 一.Socket一般应用模式(服 ...
- android判断服务是否是运行状态
/** * 判断服务是否处于运行状态. * @param servicename * @param context * @return */ public static boolean isServi ...
- vue 表单 验证 async-validator
1.使用插件async-validator async-validator 地址:https://github.com/yiminghe/async-validator 2.示例(vue+elemen ...
- js slice 参数为负值
示例代码 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF- ...
- Qt 5.3更新无数,更改C++控制台输出最为赞
迁移至 多色网