我的问题:我有一个 Python 程序,用户使用sudo. 有时我必须得到用户的家,我只能知道它的名字才能做到这一点:
import pwd
pwd.getpwnam(username)
Run Code Online (Sandbox Code Playgroud)
那么:我怎样才能获得启动该程序的用户的姓名?
我的自定义 Vim 文件~/.vim和设置在~/.vimrc. 但是,有时我必须编辑一些文件/etc等等。
如果我这样启动 Vim:
$ sudo vim /etc/rc.conf
Run Code Online (Sandbox Code Playgroud)
我丢失了我的配置,因为 Vim 使用它的默认配置。那么:如何以 root 权限运行 Vim 来编辑文件而不丢失我的用户设置(位于我的主目录中)?
我试过了:
$ su username -c "vim /usr/lib/python2.7/setuptools/dist.py"
Run Code Online (Sandbox Code Playgroud)
但是 Bash 给了我Permission denied. 但是,上述命令适用于例如:/etc/acpi/handler.sh。这是为什么?
注意:用户名不是 root。
在这个 VPS 上有三个用户:root、another_one、nobody。所有网络服务器文件、配置等。归root. 但是,我对运行的东西有疑问。如果我使用 root 作为 web 服务器,我可能会将系统暴露给安全漏洞,而如果我尝试登录nobody它会询问我一个我从未设置过的密码,我不知道。我应该创建另一个用户吗?
现在我只确定 nginx:我以 root 身份运行它,它以无人身份生成进程。但是 Web 服务器和其他服务(例如 db 和 redis)呢?
注意:我应该提到 another_user 可以 sudo,所以它与 root 没有什么不同。
我将 bash 提示符更改为:
PS1="\[\033[1;31m[\[\033[1;33m\$(date +%H:%M)\[\033[1;31m] \u:\[\033[1;32m\W\[\033[1;37m\$\[\033[0m\] "
Run Code Online (Sandbox Code Playgroud)
很抱歉排长队,这主要是由于颜色。基本上,当我点击向上箭头返回 Bash 历史记录时,提示消失并且一切都搞砸了。它类似于这个问题,但我不知道 a\[
是否丢失以及在哪里。
对内核进行一些更新后,如果我的笔记本电脑没有连接到电源,它就不会再恢复。如果我插入交流电然后暂停,它会恢复。
我认为这与 TLP 和电源管理有关,但即使禁用 TLP 也不能使其在电池上恢复。在日记中,我只看到:
Jun 23 08:19:01 miki-laptop systemd-logind[395]: Lid closed.
Jun 23 08:19:14 miki-laptop systemd-logind[395]: Suspending...
Jun 23 08:19:15 miki-laptop systemd[1]: Starting Lock X session using xlock...
Jun 23 08:19:15 miki-laptop systemd[1]: Starting TLP suspend/resume...
Jun 23 08:19:15 miki-laptop systemd[1]: Started TLP suspend/resume.
Jun 23 08:19:15 miki-laptop lock.sh[1107]: real 0m0.730s
Jun 23 08:19:15 miki-laptop lock.sh[1107]: user 0m0.690s
Jun 23 08:19:15 miki-laptop lock.sh[1107]: sys 0m0.017s
Jun 23 08:19:16 miki-laptop lock.sh[1107]: real 0m0.915s
Jun 23 08:19:16 miki-laptop lock.sh[1107]: user …Run Code Online (Sandbox Code Playgroud) 我有这个.inputrc:
"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\eOc": forward-word
"\eOd": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
Run Code Online (Sandbox Code Playgroud)
另外,我没有碰任何东西.zprezto/modules/editor/init.zsh,其中bindkey指令定义。
但是,当我按下CtrlLeft或CtrlRight我的终端 (URxvt) 闪烁时,什么也没有发生。另一方面,在 XTerm 中它可以工作。这似乎是一个 URxvt 问题。