在我的 Debian Wheezy系统中,我注意到 postgres 用户“postgres”,即“PostgreSQL 管理员”,/bin/bash
用作 shell。但是,我无法弄清楚为什么需要这样做。将此更改为/bin/false
仍然允许我使用命令psql
.
那么,为什么系统用户postgres
需要一个 shell,它必须是专门的/bin/bash
吗?
我希望我的 Zsh 提示显示我的sudo
凭据是否已缓存。到目前为止,我所拥有的应该有助于解释我想要实现的目标。
function sudo-warning {
if sudo -nl &>/dev/null; then
echo -n " %{${fg[red]}%}%{$reset_color%}"
# optionally, show a locked lock if no sudo credentials active
#else
# echo -n " %{${fg[blue]}%}%{$reset_color%}"
fi
}
# Update prompt every 10 seconds
TMOUT=10
TRAPALRM() {
zle reset-prompt
}
PROMPT='%n$(sudo-warning) '
Run Code Online (Sandbox Code Playgroud)
问题是sudo -nl &>/dev/null
更新上次sudo
调用的时间戳,因此永远不会超时。那么,有没有办法在不更新超时本身的情况下获取有关是否sudo
仍然缓存我的凭据的信息?
zsh
显然/tmp/zshXXXXXX
用于存储由使用=()
. 例如,
$ echo =(echo test)
/tmp/zsh4RmpQZ
Run Code Online (Sandbox Code Playgroud)
但是,我想更改位置以/run
使用我的tmpfs
坐骑。
是否有配置选项zsh
可以使用=()
?更改进程替换中临时文件的(默认)位置?