当前位置: 首页 > 科技观察

命令行乐趣:嘲讽输入错误的Bash命令的用户

时间:2023-03-16 10:18:35 科技观察

您可以配置sudo命令来模拟输入错误密码的用户。但是现在,当用户在shell中输入错误的命令时,他可能会被嘲笑(虐待?)。来自Github页面的bash-insulter你好:用户键入错误命令时的随机嘲讽。它使用bash4.x。新的内置错误处理函数版本,称为command_not_found_handle。通过键入以下git命令安装克隆存储库:gitclonehttps://github.com/hkbakke/bash-insulter.gitbash-insulter示例输出:Cloninginto'bash-insulter'...remote:Countingobjects:52,完成.remote:压缩对象:100%(49/49),done.remote:总计52(delta12),重复使用12(delta2),打包重复使用0Unpacking对象:100%(52/52),完成.使用文本编辑器,比如使用vi,编辑你的~/.bashrc或/etc/bash.bashrc文件:$vi~/.bashrc在其后追加这一行(具体请参考if..else..fi语句和源命令):if[-f$HOME/bash-insulter/src/bash.command-not-found];然后source$HOME/bash-insulter/src/bash.command-not-foundFi保存并关闭文件。重新登录,如果不想退出账号,可以手动运行:$。$HOME/bash-insulter/src/bash.command-not-found如何使用?尝试输入一些无效的命令:$ifconfigs$dates示例输出:一个有趣的bash钩子函数,它会嘲笑您输入了错误的命令。自定义你需要编辑$HOME/bash-insulter/src/bash.command-not-found:$vi$HOME/bash-insulter/src/bash.command-not-found示例代码:command_not_found_handle(){localINSULTS=(“Boooo!”“你什么都不知道吗?”“RTFM!”“哈哈哈,n00b!”“哇!那是令人印象深刻的错误!”“你在做什么??”“可悲”“......还有这个是你能做的最好的吗??”“今天最糟糕的一个!”“n00b警报!”“你的减薪申请已发送!”“lol”“usuk”“lol...plz”“plzuninstall”“奖授予......${USER}!”“ERROR_INCOMPETENT_USER”“无能也是有能力”“糟糕。”“假装成功!”“什么我这是……?业余时间!?”“来吧!你可以做到!”“不错的尝试。”“如果......你下次输入一个实际的命令怎么办!”“如果我告诉你......可以输入有效的命令怎么办。”“你别说话计算机???”“这不是Windows”“也许你应该单独使用命令行......”“请远离键盘!”“错误代码:1D10T”“警告!所有游客和NONTECNICLOOKENPEEEPERS!电脑机器不适用于手指戳和中心挖掘!ORWISE很容易捕捉跳跃的工作、BLOWENFUSES和带有顶部火花的爆裂软木塞。不适合与傻瓜一起工作。橡胶颈观光者必须将棉签手放在口袋里。ZO放松并清洗指示灯。”“专业提示:输入有效的command!")#设置“随机”种子生成器RANDOM=$(date+%s%N)VALUE=$((${RANDOM}%2))if[[${VALUE}-lt1]];thenprintf"\n$(tputbold)$(tputsetaf1)$(shuf-n1-e"${INSULTS[@]}")$(tputsgr0)\n\n"fiecho"-bash:$1:commandnotfound"#Invalidcommand,returnexistingcodenormallyreturn127}Giveaway:sudotaunt编辑sudoers文件:$sudovisudo添加以下行:Defaultsinsults或在末尾添加类似以下行的嘲讽:Defaults!lecture,tty_tickets,!fqdn,insults这是我的文件:Defaultsenv_resetDefaultsmail_badpassDefaultssecure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"##如果设置,sudo将在用户输入错误密码时侮辱用户。##默认侮辱#主机别名规范#用户别名规范#Cmnd别名规范#用户权限规范rootALL=(ALL:ALL)ALL#admin的成员组可能获得root权限%adminALL=(ALL)ALL#允许组成员sudo执行eanycommand%sudoALL=(ALL:ALL)ALL#有关“#include”指令的更多信息,请参阅sudoers(5):#includedir/etc/sudoers.dTry:$sudo-k#清除缓存,从头开始开始$sudols/root/$sudo-i示例对话:当您输入错误的密码时,您会被一个有趣的sudo嘲讽嘲笑赠品:helloslsl或经典的UNIX捣蛋软件游戏。当您错误地将ls键入sl时,蒸汽机车将驶过您的屏幕。$slLinux/UNIX桌面乐趣:蒸汽机车