我正在尝试为一些常用的sudo shell命令创建快捷键(例如,C-c s运行(shell-command "sudo /etc/init.d/apache2 restart")).
我尝试使用如上所述的直接shell命令调用,但它只是将以下内容输出到*Shell Command Output*缓冲区:
[sudo] password for Inaimathi:
Sorry, try again.
[sudo] password for Inaimathi:
Sorry, try again.
[sudo] password for Inaimathi:
Sorry, try again.
sudo: 3 incorrect password attempts
Run Code Online (Sandbox Code Playgroud)
它实际上并没有要求输入密码.我不想要启动Emacs使用sudo emacs,但我想这是一个选项,如果没有其他工作.
理想的解决方案是Emacs中的一个函数(而不是OS jiggery-pokery来改变shell或sudo命令的行为).喜欢的东西(sudo-shell-command "dostuff"),或者(with-password-prompt (shell-command "sudo dostuff")).
是否可以使用不同的权限运行自定义bash功能?
#!/bin/bash
function RunStefano() {
while [ 1 ]; do
echo "Ciao, ´/usr/bin/whoami´"
sleep 10;
done &
}
export -f RunStefano;
echo "Welcome, ´/usr/bin/whoami´"
sudo -u stefano -c "RunStefano"
Run Code Online (Sandbox Code Playgroud)
如果我用'root'用户运行这个脚本,我想收到输出:
Welcome, root
Ciao, stefano
(...)
Ciao, stefano
Run Code Online (Sandbox Code Playgroud)
它可能吗?
我正在为 Linux 2 开发环境配置新的 Windows 子系统。我已经在 Ubuntu 18.04 的 Windows 和 WSL2 发行版中安装了 VSCode。当我以普通用户身份登录时,我可以在 Ubuntu 中正常打开 VSCode(通过 Windows 终端访问),使用如下命令:
simp1e@ZhuXian:/mnt/c/WINDOWS/system32$ code .
Run Code Online (Sandbox Code Playgroud)
但是当我在前面添加sudo命令时,出现如下错误:
simp1e@ZhuXian:/mnt/c/WINDOWS/system32$ sudo code .
sudo: code: command not found
Run Code Online (Sandbox Code Playgroud)
起初,我切换到root用户后问题仍然存在。后来发现root用户的PATH里没有VSCode。所以我将 VSCode 路径添加到 /etc/environment。之后root用户就可以正常打开VSCode了,但是sudo code .还是有问题。我该怎么办?这仍然与PATH有关吗?
ubuntu sudo visual-studio-code windows-subsystem-for-linux windows-terminal
我正在尝试使用ssh从不同的服务器执行脚本
这是我从服务器1用来在服务器2上启动查询的命令:
ssh -t user@xxx.xxx.xxx.xx "cd /var/www/vhosts/xxxxx/subdomains/preprod/; sudo ./replace.sh";
Run Code Online (Sandbox Code Playgroud)
但问题是,当我做sudo了$home= /root在脚本下:/var/www/vhosts/xxxxx/subdomains/preprod/
我怎么能告诉sudo保护环境?
我试过了sudo -P -,sudo -H没有任何运气.
我有一个在Mac上运行的lua脚本,需要调用sudo.
我希望Mac OS会自动调出一个密码请求对话框,但是命令失败后返回256.
无论如何我能实现目标吗?
蒂姆
我有一个简单的shell脚本,使用sudo运行,因为大多数脚本都需要它,但脚本中的一个命令是Homebrew安装,无法使用sudo执行.
所以,我的问题是当用sudo执行shell脚本时如何以当前用户身份执行子命令,然后使用sudo继续执行脚本的其余部分.
提示用户再次输入密码并不实际,因为脚本执行时间很长,需要等待5-10分钟才能显示提示.
我在笔记本电脑上安装了Hadoop和SSH."ssh localhost"工作正常.格式化HDFS后,我试图启动hadoop.
munichong@GrindPad:~$ sudo /usr/sbin/start-all.sh
starting namenode, logging to /var/log/hadoop/root/hadoop-root-namenode-GrindPad.out
root@localhost's password:
root@localhost's password: localhost: Permission denied, please try again.
localhost: Permission denied (publickey,password).
Run Code Online (Sandbox Code Playgroud)
它需要密码.我的角色是"munichong".但是munichong的密码在这里不起作用.在这里,我的角色已经变为"root".我不知道我在这里是否遗漏了什么.
有没有人可以帮助我?
谢谢!
在尝试运行fastboot命令时,我的Ubuntu机器上有一个非常奇怪的问题.
当我跑:
fastboot devices
我明白了
no permissions fastboot
所以我用adminidtrator权限运行命令:
sudo fastboot devices
然后我得到了结果
sudo: fastboot: command not found
怎么会这样?我有我的PATH中的目录,一切正常,没有sudo.
我是一个关于流浪汉的新生.我刚刚发现我可以通过"sudo su - "更改为root,而无需在Vagrant监督的盒子内输入密码.奇怪的是,我检查了"/ etc/sudoers",并没有发现用户流浪者.有人可以解释一下吗?
请帮我.
$ pip --version pip 7.1.2 from /usr/local/lib/python2.7/site-packages (python 2.7)
没关系.
但...
$ sudo pip --version
Traceback (most recent call last):
File "/usr/bin/pip", line 5, in
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3020, in
working_set = WorkingSet._build_master()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 616, in _build_master
return cls._build_from_requirements(__requires__)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 629, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 807, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==6.1.1