Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 105 additions & 0 deletions docs/gemstones/bash_stub.zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
---
title: bash - 脚本存根
author: Steven Spencer
contributors: Ezequiel Bruni
---

# bash - 脚本存根

在我之前受雇的地方,我们有一位精通多种语言的王牌程序员。 当你有关于如何用脚本完成某件事的问题时,他就是你要找的人。 他最终创建了一个小存根(Stub)——这是一个充满脚本示例的文件,你可以根据需要删除和编辑。 最终,我对这些示例掌握得足够好,不需要查看存根,但它是一个很好的学习工具,其他人可能会发现它很有用。

## 实际存根

存根有很好的文档记录,但请记住,这绝不是一个面面俱到的脚本! 它还有更多的内容可以被添加。 如果**你**有很适合此存根的示例,请随意添加一些更改:

```
#!/bin/sh

# 通过export添加环境变量PATH的路径,您不必为这些路径中存在的命令输入完整路径:

export PATH="$PATH:/bin:/usr/bin:/usr/local/bin"

# 确定并保存程序目录的绝对路径。
# 注意! 在bash中,' '表示字符串本身;但是" "有点不同, $、` `和 \ 分别表示调用变量值、引用命令和转义符
# 完成后,将与脚本位于同一目录中:

PGM=`basename $0` # 程序名称
CDIR=`pwd` # 保存目录程序是从以下位置运行的

PDIR=`dirname $0`
cd $PDIR
PDIR=`pwd`

# 如果程序接受文件名作为参数,这将使我们回到开始的位置。
# (需要这样做,以便对使用相对路径的文件进行引用。):

cd $CDIR

# 如果脚本必须由特定用户运行,则使用此选项:

runby="root"
iam=`/usr/bin/id -un`
if [ $iam != "$runby" ]
then
echo "$PGM : program must be run by user \"$runby\""
exit
fi

# 检查是否缺少参数。
# 显示使用信息,如果缺少则退出。:

if [ "$1" = "" ]
then
echo "$PGM : parameter 1 is required"
echo "Usage: $PGM param-one"
exit
fi

# 提示输入数据 (在这种情况下,默认为“N”的yes/no响应):

/bin/echo -n "Do you wish to continue? [y/N] "
read yn
if [ "$yn" != "y" ] && [ "$yn" != "Y" ]
then
echo "Cancelling..."
exit;
fi

# 如果你的脚本一次只能运行一个副本,请使用这段代码。
# 检查lock file。 如果它不存在,则创建它。
# 如果确实存在,则显示错误消息并退出:

LOCKF="/tmp/${PGM}.lock"
if [ ! -e $LOCKF ]
then
touch $LOCKF
else
echo "$PGM: cannot continue -- lock file exists"
echo
echo "To continue make sure this program is not already running, then delete the"
echo "lock file:"
echo
echo " rm -f $LOCKF"
echo
echo "Aborting..."
exit 0
fi

script_list=`ls customer/*`

for script in $script_list
do
if [ $script != $PGM ]
then
echo "./${script}"
fi
done

# Remove the lock file

rm -f $LOCKF
```

## 总结

脚本是系统管理员的好朋友。 能够在一个脚本中快速完成某些任务,简化流程的完成。 虽然这并不是一组详尽的脚本示例,但这个存根提供了一些常见的用法示例。
44 changes: 44 additions & 0 deletions docs/gemstones/https_rsa_keygen.zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: https - RSA 密钥生成
author: Steven Spencer
update: 2022-01-26
---

# https - RSA 密钥生成

下述的脚本已经被我使用很多次了。 无论您使用openssl命令结构的频率有多高,有时您都必须回头参考这个过程。 这个脚本允许您使用RSA为网站自动生成密钥。 请注意,这个脚本是用2048位的密钥长度硬编码的。 对于那些强烈认为密钥长度最小应该是 4096 位的人来说,只需要更改脚本的一部分即可。 请记住,你需要网站在设备上加载时所用的内存和速度以及更长密钥长度带来的安全性之间做权衡。

## 脚本

您可以随意命名这个脚本,如 `keygen.sh`, 使用 (`chmod +x scriptname`) 将该脚本变得可执行,然后把它放到您的 path 目录中, 示例: /usr/local/sbin

```
#!/bin/bash
if [ $1 ]
then
echo "正在生成 2048 位的密钥 - 你需要输入一个密码并且确认它"
openssl genrsa -des3 -out $1.key.pass 2048
echo "现在为了实际使用,我们将会创建一个没有密码保护的密钥,但您需要再次输入在上一步骤您设置的密码"
openssl rsa -in $1.key.pass -out $1.key
echo "下一步,我们将会生成 csr 证书"
openssl req -new -key $1.key -out $1.csr
#cleanup
rm -f $1.key.pass
else
echo "需要密钥名称参数"
exit
fi
```

!!! note "说明"

您需要连续三次输入正确的密码。

## 简要说明

* 这个 bash 脚本需要一个参数 ($1),它是网站的名称(不带www等) 例如,“mywidget”。
* 脚本使用密码和2048位长度创建默认密钥(如上所述,可以编辑为更长的4096位长度)
* 然后立即从密钥中删除密码,原因是Web服务器重新启动将需要在每次重新启动时输入密钥密码,这在实际中可能会有问题。
* 接下来,脚本创建CSR(Certificate Signing Request,证书签名请求),然后可以使用它从提供商那里购买SSL证书。
* 最后,清理步骤删除了先前创建的带有密码的密钥。
* 输入不带参数的脚本名将生成错误:“需要密钥名称参数”。
5 changes: 3 additions & 2 deletions docs/guides/installation.it.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
---
Title: Installazione di Rocky Linux
contributors: tianci li, Steven Spencer, Colussi Franco
updated: 01-15-2022
author: tianci li, Steven Spencer, Colussi Franco
contributors: 01-15-2022
updated: 12-22-2021
---

# Installazione di Rocky Linux
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/migrate2rocky.it.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Migrazione A Rocky Linux
author: Ezequiel Bruni
contributors: tianci li, Steven Spencer, Colussi Franco
contributors: 01-15-2022
update: 01-15-2022
---

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/migrate2rocky.zh.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: 迁移到Rocky Linux
author: Ezequiel Bruni
contributors: tianci li, Steven Spencer
contributors: 11-23-2021
update: 11-23-2021
---

Expand Down
Loading