Linux免密执行特定脚本
为单个用户添加免密码执行某个脚本权限使用命令sudo visudo安全编辑 sudoers 文件(不要直接编辑 /etc/sudoers),在打开的文件中添加以下行(注意:将 username 替换为实际用户名,例如 thee),然后保存退出
123username ALL=(ALL) NOPASSWD: /path/to/your/script.sh# 或者允许目录下所有脚本username ALL=(ALL) NOPASSWD: /path/to/scripts/*
若配置后执行脚本仍然需要手动输入密码,那么可以按照下面的步骤进行检查:
12345678# 使用 visudo 检查语法sudo visudo -c# 查看当前用户的 sudo 权限,该命令可以查看具有 sudo 权限的脚本,配置成功后能在该命令输出结果中看得到sudo -l# 查看特定用户的 sudo 权限sudo -l -U username
除了配置特定用户免密码执行脚本命令(可以携带参数)外,还可以配置特定组中所有用户免密码执行脚本、特定目录下所有脚本免密码执行,配置模版如下:
1234 ...
工具收藏合集
IT Tools - Handy online tools for developersLinux命令搜索引擎 命令,Linux Linux命令搜索引擎 命令详解:最专业的Linux命令大全,内容包含Linux命令手册、详解、学习,值得收藏的Linux命令速查手册。 - Linux 命令搜索引擎
esp32s3实现USB直连HID设备遇到的问题记录
前言:最近购买了一块 esp32s3 devkitc-1 N16R8 开发板,想使用 esp32s3 自带的 USB-OTG 功能实现 USB 的 HID 设备,其中与串口芯片连接的 USB 口专门用作程序下载,另一个与 esp32s3 直连的 USB 口模拟 HID 设备,但实际测试发现并非想的那么简单,下面详细叙述相关测试记录
环境配置硬件esp32s3 devkitc-1 N16R8 开发板
软件采用 arduino 框架开发,使用的库为 Adafruit_TinyUSB 库,使用的源码如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include "Adafruit_TinyUSB.h"// Report IDenum { RID_KEYBOARD = 1, RID_MOUSE, RID_CONSUMER_CONTROL, // Media, vol ...
esp32+PlatformIO串口通信问题
最近使用esp32-cam开发板时,发现通过VScode+PlatformIO平台编译下载网络摄像头程序复位后通过monitor无法接收串口数据,但使用使用 arduino 的监视器或者其他串口通信软件在开发板复位时则能打印出相关信息
原因:在 PlatformIO monitor 中查看串口相关配置信息,发现其中 DTR 和 RTS 默认为 activate (即保持为高电平),而 arduino 和串口通信软件中默认未勾选 DTR 和 RTS (即保持为低电平),而勾选了 DTR 和 RTS 后,软件会持续拉高对应信号线的电平。对于 RTS 来说,主机会持续向外设发送”我已准备好接收数据”的信号,对于 DTR 来说,主机向外设宣告”我已上电就绪,可通信”
解决办法:在 platformio.ini 中添加如下两行代码(强制 RTS 和 DTR 端口为低电平,再次下载程序复位后就能在 monitor 中打印出相关信息):
12monitor_rts = 0monitor_dtr = 0
对于很多 USB 转 TTL 串口线(例如常用的 CH340G、CP2102、FT232R ...
esp32移植TinyUSB库时遇到的问题
前言:最近想使用 esp32 系列的芯片实现 HID 设备(如键盘、鼠标)的模拟,但是使用 PlatformIO 平台进行开发的过程中遇到了一些问题,下面对其进行记录和总结。
环境配置硬件
esp32 devkit 开发板,芯片型号 ESP32-D0WD-V3
Platform IO 配置123456[env:esp32dev]platform = espressif32board = esp32devframework = arduinomonitor_speed = 115200lib_deps = adafruit/Adafruit TinyUSB Library@^3.7.2
添加 TinyUSB 库后编译 TinyUSB 例程报错1234567891011src/main.cpp:23:5: error: 'TUD_HID_REPORT_DESC_KEYBOARD' was not declared in this scope TUD_HID_REPORT_DESC_KEYBOARD()}; ^~~~~~~~~~~~~~~ ...
数在计算机中的存储
最近因项目需要对定点数进行计算,太久没有接触这方面知识了,故而将相关知识点进行整理汇总,以备后时之需。
预备知识机器数一个数在计算机中的二进制表示方式就是该数的机器数,它是将符号和数值绝对值一起数字化的数,它是有符号数,通过最高位(即符号位)表示正负,最高位为 0 表示正数,最高位为 1 表示负数
例如:+3=0000 0011 和-3=1000 0011 便是机器数
机器数的真值由于最高位表示符号位,因此一个机器数表示的真正数值不能直接从二进制转换为十进制,需要将符号位排除在外后再进行转换;转换后根据符号位添加正负号,将带符号位的机器数对应的数值称为机器数的真值,即真值为实际生活中使用到的数本身,例如+3,-3
例如:0000 0011 的真值为+000 0011=+3,1000 0011 的真值为-000 0011=-3
原码、反码和补码
在计算机中,每个需要参加运算的数都需要以一定的编码方式进行存储,原码、反码和补码就是计算机存储数的编码方式,即机器数的表示形式为原码、反码和补码,除此之外还有移码
对于负整数或可以通过乘以 2 的幂次方 ...
你和你的研究(You And Your Research)-Richard Hamming (6 June 1995)
Richard Hamming, Learning to Learn: You and Your Research(6 June 1995)_哔哩哔哩_bilibiliRichard Hamming: You and Your Research理查德·汉明《你和你的研究》 - 阮一峰的网络日志读 You and Your Research 笔记
这是对于Richard Hamming公开演讲《You And Your Research》的总结及个人想法。
运气青睐有准备的人
你应该停止无所事事,开始努力,成为一个有价值的人
你必须在正确的时间以正确的方式解决正确的问题
每隔一段时间停止和思考:什么是重要的事情,你所做事情的性质是什么,工作的特点是什么
想要有进步,必须要有变化(变化并不意味着进步,但进步必须要有变化)
未经审视的生活不值得过。- 苏格拉底
要有做大事的想法很多人毕生只是例行公事般地从事安全的工作,所以产出有限。就这么简单:如果你要干大事,你必须毫不迟疑地去解决重大难题。你要跟自己说,往前走,去做大事!
要有清晰的愿景,要做一流的工作,要有远大的目标,要去做大事 ...
esp32移植oled-ui-astra项目
前言:本项目的目的是为了在 esp32 平台上移植开源 OLED 项目 oled-ui-astra,详见GitHub - AstraThreshold/oled-ui-astra: A smooth, easy-to-deploy, and easy-to-extend OLED UI framework, based on C++.,并添加旋转编码器 KY-040 实现 UI 界面的简单切换。尽管笔者已经在本地环境测试没有问题,但是不能保证大家使用后也能正常工作,这里笔者尽量把移植 oled-ui-astra 项目的过程讲清楚,同时把已经测试过没有问题的整体工程放到这里GitHub - Thee24LYJ/oled-ui-astra at esp32,仅供参考。下面正式开始。
1.硬件环境1.1 硬件设备esp32 DevKit、7 针 SPI OLED 和旋转编码器 KY-040
1.2 硬件连线ESP32 采用硬件 SPI 与 OLED 进行通信
OLED
ESP32
SCLK (CLK)/D0
GPIO 18
MOSI (DIN ...
orangepi定时上传IP地址
本文想定时上报orangepi的WLAN网络接口的IP地址,因为orangepi连接的是校园网且通过DHCP服务器分配IP地址,所以IP地址是会变化的,但我又不想每次都打开终端通过以太网连接到orangepi再查看WLAN网络接口的IP地址,因此有了本文的尝试。
linux 系统设置开机自启脚本方式 | Theeflask 框架视图函数错误 TypeError: The view function did not return a valid response. -CSDN 博客crontab 可视化分析网站:Crontab 在线生成器 | 菜鸟工具
云服务器配置香橙派服务器1234567891011121314151617181920212223242526272829from flask import Flask, request# 创建orangepi上传ip地址的服务器 使用nginx反向代理# ip日志文件为/var/log/latest_orangepi_ip.txt# 已创建systemctl开机自启脚本服务orangepi_ip_reporter.serviceap ...
SSL 证书申请
这篇文章是给个人博客的域名申请 SSL 证书,从而实现个人博客的 https 访问。由于在阿里、腾讯等平台申请长期的 SSL 证书较贵,这里选择免费的 Let’s Encrypt 颁发的证书,并使用 Certbot 来实现自动化整个 SSL 证书的管理流程。
申请单域名证书
单域名证书指为单个子域名颁发的 SSL 证书,例如 abc.example.com 为单域名,def.example.com 为另外一个单域名,需要分别对这两个单域名颁发对应的证书
给域名添加 ssl 证书Certbot Instructions | Certbot
追加域名 ssl 证书User Guide — Certbot 3.1.0.dev0 documentationLet’s Encrypt 证书的一些操作(Certbot) | 菜包子Certbot 为新子域名添加证书
12345# 追加子域名的 SSL 证书命令$ sudo certbot -d xxx.xxx.com --expand# 在已有域名 example.com 和 www.example.com 基础上接着添加一个域名 a ...









