语法
1 | unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>] |
参数:
1 | -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。 |
实例
1 | # 查看压缩文件中包含的文件 |
参考:
1 | unzip [-cflptuvz][-agCjLMnoqsVX][-P <密码>] |
参数:
1 | -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。 |
1 | # 查看压缩文件中包含的文件 |
参考:
1 | zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>] |
参数:
1 | -A 调整可执行的自动解压缩文件。 |
1 | # 将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip: |
参考:
目录结构:
1 | ├── dhparam.pem |
注意 general.conf 中需要注释掉 拦截 assets, media的配置:
1 | # location ~* \.(?:css(\.map)?|js(\.map)?|jpe?g|png|gif|ico|cur|heic|webp|tiff?|mp3|m4a|aac|ogg|midi?|wav|mp4|mov|webm|mpe?g|avi|ogv|flv|wmv)$ { |
Linux chown(英文全拼:change owner)命令用于设置文件所有者和文件关联组的命令。
Linux/Unix 是多人多工操作系统,所有的文件皆有拥有者。利用 chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID,组可以是组名或者组 ID,文件是以空格分开的要改变权限的文件列表,支持通配符。 。
chown 需要超级用户 root 的权限才能执行此命令。
只有超级用户和属于组的文件所有者才能变更文件关联组。非超级用户如需要设置关联组可能需要使用 chgrp 命令。
1 | chown [-cfhvR] [--help] [--version] user[:group] file... |
参数 :
user : 新的文件拥有者的使用者 ID
group : 新的文件拥有者的使用者组(group)
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
–help : 显示辅助说明
–version : 显示版本
把 /var/run/httpd.pid 的所有者设置 root:
1 | chown root /var/run/httpd.pid |
将文件 file1.txt 的拥有者设为 runoob,群体的使用者 runoobgroup :
1 | chown runoob:runoobgroup file1.txt |
将当前前目录下的所有文件与子目录的拥有者皆设为 runoob,群体的使用者 runoobgroup:
1 | chown -R runoob:runoobgroup * |
把 /home/runoob 的关联组设置为 512 (关联组ID),不改变所有者:
1 | chown :512 /home/runoob |
参考:
docker-compose.yml
中创建自定义网络的时候,默认的网段为172.*.*.*
;
使用自定义networks定义网络,docker-compose 会随机产生子网:
1 | version: "3" |
查看Log文件名:选择数据库,属性,查看文件。
1 | USE [master] |
1 | #显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID, |
1 | #删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了) |
1 | #根据容器的状态,删除Exited状态的容器 |
1 | #Docker 1.13版本以后,可以使用 docker containers prune 命令,删除孤立的容器。 |
1 | #删除所有镜像 |
参考:
SASL:简单认证和安全层
SASL是一种用来扩充C/S模式验证能力的机制认证机制,全称 Simple Authentication and Security Layer
。
当你设定sasl时,你必须决定两件事;一是用于交换“标识信 息”(或称身份证书)的验证机制;一是决定标识信息存储方法的验证架构。
sasl验证机制规范client与server之间的应答过程以及传输内容的编码方法,sasl验证架构决定服务器本身如何存储客户端的身份证书以及如何核验客户端提供的密码。
如果客户端能成功通过验证,服务器端就能确定用户的身份, 并借此决定用户具有怎样的权限。
比较常用的机制plain:plain是最简单的机制,但同时也是最危险的机制,因为身份证书(登录名称与密码)是以base64字符串格式通过网络,没有任何加密保护措施。因此,使用plain机制时,可能会想要结合tls。
参考:
1 | address: 0.0.0.0:7373 # Listen on all network interfaces on port 7373 |
-k 跳过证书校验。
1 | kes key dek my-key-1 -k |
参考:
1 | $ openssl version -a |
1. https 单项认证:
server: server.crt + server.key
client: server_ca.crt
2. https 双向认证:
server: server.crt + server.key + client_ca.crt
client: server_ca.crt + client.crt + client.key
在使用 CA 证书进行签署证书时加入-extfile
和-extensions
选项,具体命令如下:
1 | openssl x509 -req -days 365 -sha256 -extfile openssl.cnf -extensions v3_req |
证书详情信息:
1 | Version: 版本号 |
一般证书的签发流程是:
申请者把自己的申请做成证书申请文件 csr(csr 中放入了申请者的公钥以及申请者的信息)
然后把 csr 发送给签发者 CA 进行证书签发,签发过程就是 CA 用自己的私钥给 csr 生成签名,然后制作为证书文件(.crt 或.pem)
nginx 判定证书的时候,是根据证书中的两个字段:Issuer 和 Subject
如果 Issuer == Subject 那么 nginx 就会认为这是一个自签名的根证书
如果 Issuer != Subject 那么 nginx 就会认为这不是一个自签名的证书,验证时需要带上签发这个证书的根证书
正式使用时,subject 中的 CN 字段需要填写使用者的域名,也就是 nginx 所在主机的域名。
流程:自签 CA,由自签 CA 签发二级 CA,最后由二级 CA 签发网站证书。
openssl 参数参考:
1 | -extensions v3_req 指定 X.509 v3版本 |
在本文中,我们将探索Hashicorp的Vault - 一种用于在现代应用程序体系结构中安全地管理机密信息的流行工具。
我们将讨论的主要议题包括:
在深入了解Vault之前,让我们试着了解它试图解决的问题:机密信息管理。
大多数应用程序需要访问机密数据才能正常工作。例如,电子商务应用程序可以在某处配置用户名/密码以便连接到其数据库。它还可能需要API密钥才能与其他服务提供商集成,例如支付网关,物流和其他业务合作伙伴。
数据库凭证和API密钥就是我们需要以安全的方式存储和提供给我们的应用程序的机密信息。
一个简单的解决方案是将这些信息存储在配置文件中,并在启动时读取它们。但是这种方法的问题显而易见:有权访问此文件的人共享我们的应用程序具有的数据库权限 - 通常可以完全访问所有存储的数据。
我们可以尝试通过加密这些文件来使事情变得更加困难。但是,这种方法在整体安全性方面不会增加太多。主要是因为我们的应用程序必须能够访问主密钥。当以这种方式使用时,加密仅是一种“错误”的安全感。
现代应用程序和云环境往往会增加一些额外的复杂性:分布式服务,多个数据库,消息传递系统等等,所有敏感信息都在各处传播,从而增加了安全漏洞的风险。
例如:
配置 upstream 的 location 代码:注意添加了 ~*
1 | #代理后端接口 |
单节点 location 代码:
1 | #代理后端接口 |