find没权限的时候不显示Permission denied

今天因为Centos使用find查找文件的时候当前账号很多目录很多是没有权限的,结果一大堆没有路径权限的提示,导致要找的东西都看不到了,开始用grep过滤也不行,最后只要用参数把错误的输出重定向到文件或null即可:

find [path] -name “pattern ” 2>/dev/null

linux系统预留可三个文件描述符:0、1和2,他们的意义如下所示:
0——标准输入(stdin)
1——标准输出(stdout)
2——标准错误(stderr)

发表在 服务器 | 标签为 , | 留下评论

linux下php执行shell_exec输出null的原因

最近做了一个项目需要 php+shell_exec() 调用C可执行文件,在windows下能正常调用到,然而转移到centos上时结果一直是null,各种尝试后总结如下:

1.检查safe_mode=off

2.C可执行文件要用全路径,比如 shell_exec(‘/app/demo_c’),而不是只写 shell_exec(‘demo_c’)

3.可以在shell_exec()括号内字符串的最后加上 2>&1 以返回STDERR以及STDOUT。例如 shell_exec(‘/app/demo_c 2>&1’) 它就报 “sh: demo_c: command not found\n”

发表在 服务器 | 标签为 | 留下评论

centos6防火墙iptables一般使用规则

# 允许访问22端口
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 20 -j ACCEPT

#打开主动模式21端口
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
#打开被动模式49152~65534之间的端口
iptables -A INPUT -p tcp –dport 49152:65534 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT

#添加屏蔽IP
#禁止此IP访问服务器
iptables -I INPUT -s 1.2.3.4 -j DROP

iptables -A INPUT -s 1.2.3.4 -j DROP
#禁止服务器访问此IP
iptables -A OUTPUT -d 1.2.3.4 -j DROP
如果要封某个网段:
iptables -I INPUT -s 1.2.3.0/24 -j DROP

#清空屏蔽IP
iptables -t filter -D INPUT -s 1.2.3.4 -j DROP
iptables -t filter -D OUTPUT -d 1.2.3.4 -j DROP

#处理IP碎片数量,防止攻击,允许每秒100个
iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT
#设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包
iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT

#屏蔽单个IP的命令是
iptables -I INPUT -s 192.168.0.1 -j DROP
#封整个段即从192.0.0.1到192255.255.254的命令
iptables -I INPUT -s 192.0.0.0/8 -j DROP
#封IP段即从192.168.0.1到192.168.255.254的命令
iptables -I INPUT -s 192.168.0.0/16 -j DROP
#封IP段即从192.168.0.1到1192.168.0.254的命令是
iptables -I INPUT -s 192.168.0.0/24 -j DROP

 

常用命令:
-A 追加规则–>iptables -A INPUT
-D 删除规则–>iptables -D INPUT 1(编号)
-R 修改规则–>iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)
-I 插入规则–>iptables -I INPUT 1 –dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位
-L 查看规则–>iptables -L INPUT 列出规则链中的所有规则
-N 新的规则–>iptables -N allowed 定义新的规则

通用参数:
-p 协议  例:iptables -A INPUT -p tcp
-s源地址 例:iptables -A INPUT -s 192.168.1.1
-d目的地址 例:iptables -A INPUT -d 192.168.12.1
-sport源端口 例:iptables -A INPUT -p tcp –sport 22
-dport目的端口 例:iptables -A INPUT -p tcp –dport 22
-i指定入口网卡 例:iptables -A INPUT -i eth0
-o指定出口网卡 例:iptables -A FORWARD -o eth0

-j 指定要进行的处理动作
常用的ACTION:
DROP:丢弃
REJECT:明示拒绝
ACCEPT:接受
SNAT基于原地址的转换
source–指定原地址

修改防火墙策略:

vim /etc/sysconfig/iptables

1 关闭防火墙—–service iptables stop
2 启动防火墙—–service iptables start
3 重启防火墙—–service iptables restart
4 查看防火墙状态–service iptables status
5 永久关闭防火墙–chkconfig iptables off
6 永久关闭后启用–chkconfig iptables on

/etc/init.d/iptables start

/etc/init.d/iptables status

/etc/init.d/iptables stop

发表在 服务器 | 标签为 , , | 留下评论

笔记本绕过系统激活,保留七天无理由退货

绕过开机系统激活 保留7天退货权利
最近买笔记本为了检测系统硬件,首次进入windows系统需要联网激活,差点就导致无法退货,检测结果不满意,硬盘是镁光的次货。
据说消费者什么保护法是无法支持系统或office激活后7七天无理由退货的,那么有以下2种方式检测到硬件
1、使用U盘启动PE系统进入测试
2、新电脑系统进入选择国家地区的时候,同时按下组合键Ctrl+Shift+F3。(部分机型没反应可以试试Ctrl+Shift+F3+Fn),耐心等待系统会自动重启,不要进行任何操作,它会自动创建admin账号进入,并提示是否需要重启,先不要理那对话框,拉开放一边,等你测试后再按确定重启即可。

一般激活了windows,问题还不大,只要重置下系统也能去掉激活,但是点程序组中的“获取Office”图标,据说已激活Office激活是可查的,那很大可能就无法七天无理由退货了。

发表在 服务器 | 标签为 | 留下评论

shell命令curl推送微信小程序消息模板47001 data format error rid

今天在Centos下使用curl命令推送微信小程序消息模板一直提示47001 data format error rid
坑货原来是要把双引号加反斜杠转移下,文档哪里有这说明。。。

curl https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=xxxxxx -H “Accept: application/json” -H “Content-type: application/json” -X POST -d ‘{\”touser\”:\”xxxxxx\”,\”template_id\”:\”xxxxxxx\”,\”miniprogram_state\”:\”formal\”,\”data\”:{\”time5\”:{\”value\”:\”2021-12-13 15:00:02\”},\”thing3\”:{\”value\”:\”123\”},\”amount1\”:{\”value\”:\”8.88\”},\”character_string4\”:{\”value\”:\”123456\”},\”thing2\”:{\”value\”:\”321\”}}}’

附带:
单引号要改成双引号
JSON字符串中的双引号”要加 \ 转义
& 符号需要加 \ 转义
JSON 字符串请求加-H “Content-Type:application/json”
windows 系统中的换行符为CR LF;Mac中的换行符为 LF ;Linux 系统中的换行符为CR

发表在 服务器 | 标签为 , , | 留下评论

phpstorm无法恢复代码,撤销保存,历史找回

今天在phpstorm撤销代码的时候误保存了,结果蒙了,还好就算没有svn或git版本库控制也能找回,如下图:

phpstorm恢复历史

发表在 服务器 | 标签为 , | 留下评论

PhpStorm2019、2020.1代码自动换行

从phpstorm 2019新版开始就没有Use soft wraps in editor可以勾选了

改成自己填写类型,入下图,切记各种类型间隔用;隔开,而不是逗号或别的。

发表在 服务器 | 标签为 | 留下评论

showdoc内容&timestamp被实体转义成×tamp

showdoc版本2.9.12

//前端有个html_decode函数转义了 t.replace(/&/g, “&”) 导致 html有&times的地方被浏览器转换成了×号

//输出一次htmlspecialchars,还是会被前端转义成正常的&导致显示错误,所以需要两次输出才能正常显示

例如POST:open_id=OPEN_ID&timestamp=1234567890 变成 open_id=OPEN_ID×tamp=1234567890

修改\showdoc\server\Application\Api\Controller\PageController.class.php

//页面详情
public function info(){最后
$page[‘page_content’]=htmlspecialchars(htmlspecialchars($page[‘page_content’]));

发表在 服务器 | 标签为 , | 留下评论

linux统计日志文件中出现多少域名

今天遇到需要统计日志文件中出现了多少个域名,且不需要重复显示,去掉awk后面部分也可以用来显示出现多少次。
grep -Poh “://.*?/” ./path/* |sort|uniq-c|awk -F “/” ‘{print $3}’

参数说明:
P用正则
o只显示搜索到部分
h不显示文件名
awk最后用/分割下打印分割后第三个变量

发表在 服务器 | 标签为 | 留下评论

【原创】windows安装配置vscode编辑器golang开发环境和插件

VS Code配置Go语言插件和开发环境

golang逐渐普遍的今天,也安装个试试看所谓的协程,因为免费所有找个电脑关键一搜索就能很方便安装到vscode

就像其它语言一样除了选择好编辑器一样,还需要安装本身的编译器

官方地址:https://golang.google.cn/dl/
最新windows版:https://golang.google.cn/dl/go1.16.7.windows-amd64.msi

安装后设置GOPROXY用国内镜像来安装插件,不然会无法安装被拦了,打开终端执行以下命令:

go env -w GOPROXY=https://goproxy.cn,direct

VS Code启动后会自动检测提示安装中文包,没有就点界面左边最下面的图标打开扩展管理,输入chinese,安装语言包和go相关扩展,安装后重启。

接着要安装插件,Windows平台按下Ctrl+Shift+P,Mac平台按Command+Shift+P,弹出一个输入框,输入>go:install,下面会自动搜索相关命令,选择Go:Install/Update Tools这个命令,按下图选中并会回车执行该命令(或者使用鼠标点击该命令),安装后提示成功,如下图:

如无法安装重启下ide再尝试,安装成功后跑一段go试试看,按F5运行,结果出现了错误,根据提示进入launch.json修改配置,应该是找不到编译对应的文件,修改使用下图注释部分“${file}”变量。

修改后保存,重新运行下F5跑下,没错误了,出现结果了。

发表在 服务器 | 标签为 | 留下评论