我正在尝试找到一种方法来缩短这些行(CI_PRIVATE_SSH_KEY
已设置):
mkdir -p "${HOME}/.ssh/"
chmod 700 "${HOME}/.ssh/"
echo "${CI_PRIVATE_SSH_KEY}" > "${HOME}/.ssh/id_rsa"
chmod 600 "${HOME}/.ssh/id_rsa"
这是我到目前为止所拥有的:
(umask 077; mkdir -p "${HOME}/.ssh/"; echo "${CI_PRIVATE_SSH_KEY}" > "${HOME}/.ssh/id_rsa")
但这并不完全有效,因为该目录是在没有group
+other
权限的情况下创建的。
所以我的问题是:是否有一个umask
值可以让我创建目录700
和文件600
(假设默认值为0022
)?
我也试过
177
了,但它也不起作用。
我同意@Jeff Schaller 的观点,与 umask 相比,chmod 清晰明了。
尝试使用
&&
运算符构建一个衬里,并将目录的首选权限
.ssh
更改为 644 bash 将尝试从运算符的左到右运行命令, 并且仅在所有“左侧”命令返回状态为 0 时继续
&&
或 umask 133 为
.ssh
, 177 为密钥,umask 077 将: