为单一命令设置代理环境变量的终端函数

实际应用 需求 一个命令行函数 将其参数作为命令运行 为运行的命令设置环境变量, 同时不影响原本的 shell 环境变量 结果 function proxyenv { ( proxy_dest="http://localhost:8888" proxy=${proxy_dest} http_proxy=${proxy_dest} https_proxy=${proxy_dest} PROXY=${proxy_dest} HTTP_PROXY=${proxy_dest} HTTPS_PROXY=${proxy_dest} export proxy http_proxy https_proxy PROXY…

2021 年 2 月份的玩耍

随便写写关于 vsftpd 几个可能导致本地用户无法登录的问题 PAM 服务中检测了用户的 shell 的可用性 PAM 服务中与用户可用 shell 的检测相关条目的一般都是下面这种样子 auth required pam_shells.so 当添加本地账户为系统账户时(用户的登录 shell 为 /sbin/nologin)时, 这个条目的检测会不通过, 导致用户验证失败, 且此时的报错信息与普通的用户密码不正确别无二致. PAM 服务中删除了过多的条目, 导致验证不通过 (存疑)…

webdav 的挂载

webdav 挂载到本地文件系统有优有劣, 好处是权限更加开放, 使用也比较方便, 但缺点是在需要同步时受网络影响较大, 所以建议不要直接打开挂载到本地目录的 webdav 文件, 尤其是 GUI 会卡顿较长时间. 使用 webdav 的本意是同步一下 keepass 密码格式的数据库, 摆脱所有密码都一样的困扰, 于是采取了 webdav 挂载到PC本地目录, 安卓使用 FolderSync 进行同步的解决方案, 实际体验不太令人满意, PC打开文件都需要等待少则几秒的下载文件的时间,…

KVM 安装

本篇总结自how-to-install-virtual-machine-manager-kvm-in-manjaro-and-arch-linux. 检查硬件支持 LC_ALL=C lscpu | grep Virtualization 以上语句应当得到Virtualization: VT-x或者Virtualization: AMD-V的结果, 否则硬件不支持, 请前往BIOS设置虚拟化选项. 检查内核支持 运行zgrep CONFIG_KVM /proc/config.gz, 得到的结果应该是CONFIG_KVM_INTEL或者CONFIG_KVM_AMD的值为m或y. 以下是样例输出. CONFIG_KVM_GUEST=y # CONFIG_KVM_DEBUG_FS is not set CONFIG_KVM_MMIO=y…

树莓派 Arch Base 系统无头配置 wifi

开门见山 本文讲解了基于ArchLinux的发行版在没有显示器/键盘/网线, 只有读卡器/一台电脑/WIFI的情况下配置无线连接的事. 细节讲解在后边. 在我为了无头配置wifi而焦头烂额的时候, 我终于看到了这么一篇博文, 而博文中有这样一番代码. #!/bin/sh set -e if [[ $# -ne 3 ]] ; then echo "Usage: $0 </dev/disk> <ssid> <passphase>" exit…

vsftp 常用配置和踩坑

1. vsftpd虚拟用户的配置 配置vsftpd的虚拟用户简单分为三个方面 配置pam模块 (见下方小标题) 创建认证信息文件(passwd文件) (见下方小标题) vsftpd.conf配置文件 1.1 PAM模块 pam (Pluggable Authentication Modules)为应用和服务提供动态的认证支持, pam模块一般在/lib/security/或/lib/(arch_type)/security下. 1.1.1 仅虚拟用户的PAM 实现仅虚拟用户登录十分简单, 只需要让PAM仅认证虚拟用户即可, 如下指定需要的pam模块和需要的参数即可. # 文件为 /etc/pam.d/vsftpd auth required…

Linux 计划任务 — crontab

使用语法 crontab 的每行命令有5个日期时间部分,5个部分之间使用space或tab分隔,后面接着需要执行的命令 时间日期部分 这一部分语法如下,但是如果不准备深入了解,可以在crontab guru来简单地配置需要的时间 mm hh DD MM dd {command} # mm : minute (0-59) # hh : hour (0-23) # DD :…

Linux 服务 — systemd.unit

概括 通过<code>systemctl</code><code>命令可以对服务进行一些基本操作, 包括启动,停止,重启等, 而这条命令操作的服务的位置就在</code><code>/etc/systemd/system</code><code>目录下, 如果想要我们想要创建一个自己的服务用于开机自动运行, 只需要在这个目录下创建一个名为</code><code>{your service name}.service</code><code>的文本文件即可, 最简单的服务只需要在文件内写出</code><code>[Service]</code><code>部分中的</code><code>ExecStart</code>即可运行服务. Linux服务 Linux服务一般通过<code>systemctl</code><code>进行管理, 诸如</code><code>systemctl start {service name}</code>启动某服务, 优点就是十分统一, 并且使得各种各样的服务有条理地运行, 不至于发生一个服务明明需要另一个服务的功能, 却在另一个服务运行之前启动, 造成启动失败或者异常. <code>systemctl status {service name}</code><code>可以查看服务的状态, 同时会显示出服务最近的几行日志,…

shell 学习笔记

关于符号 $ 美元符号, 一般用于取变量的值, 不过总觉得和命令代换有很多相似之处, 具体可见样例, 另外美元符号也会和其他符号产生有意思的组合. $ var=”echo hello” $ $var hello [] 相当于test命令, 用于测试条件是否成立, 若成立则退出值为0(真), 由于if, for, case等结构语句通过上一条命令的退出值来决定运行流程, 因此方括号多用于这些结构语句中. $() , <code> </code>…