我是 Ansible 的新手。到目前为止,我见过的大多数 VPS 配置指南都是这样做的:
ssh(不是密码)登录的新用户wheel组中,具有无密码 sudo权限我明白(1)和(2),但不明白(3)。
当然无密码sudo就像登录一样root?我理解好处(方便),但这不是非常不安全吗?
我意识到管理员以各种方式运行他们的网络,所以这可以说是“主观的”,但这是一种非常普遍的做法,甚至在各种官方 ansible 文档以及托管公司发布的指南中都有体现。这违背常识。它背后的逻辑是什么?
在许多 nginx 配置教程中,我看到了这一点:
access_log /var/log/nginx/access.log main
Run Code Online (Sandbox Code Playgroud)
什么是main?它在文档中找不到。
执行自动化服务器部署时,我可以通过脚本上传和导入 gpg 密钥。但我不能相信钥匙。
我试过
gpg --batch --yes --edit-key keyname trust 5
Run Code Online (Sandbox Code Playgroud)
和
echo 5 | gpg --batch --yes --edit-key keyname trust -
Run Code Online (Sandbox Code Playgroud)
在非批处理模式下,它总是停止请求输入。在批处理模式下,它会忽略输入。
正确的语法是什么?
使用 PowerShell,我可以获得所有(当前进程)环境变量并对其进行格式化和排序:
gci env: | %{"{0}={1}" -f $_.Name,$_.Value} | sort
Run Code Online (Sandbox Code Playgroud)
这使:
a=foo
b=bar
c=baz
Run Code Online (Sandbox Code Playgroud)
但这给出了所有流程变量,我只想要用户变量,所以我这样做:
[Environment]::GetEnvironmentVariables("User") | %{"{0}={1}" -f $_.Name,$_.Value} | sort
Run Code Online (Sandbox Code Playgroud)
但这仅输出:
=
Run Code Online (Sandbox Code Playgroud)
该[Environment]::GetEnvironmentVariables("User")作品的东西之后是问题。