标签: sudo

如何安全地从 AppleScript 请求所需的密码?

我有一个运行 shell 脚本的简单 AppleScript(应用程序):

do shell script "sudo killall -TERM java"
Run Code Online (Sandbox Code Playgroud)

失败并显示“ sudo no tty present and no Askpass program specified ”。

这里所需的行为是打开 OS X密码对话框(希望能够保存在钥匙串中以供将来使用),但是(我猜)我缺少一个步骤,告诉脚本启动必要的“ Asker”(令人惊讶的是,默认情况下不会发生)。

试过了

do shell script "ssh-askpass Sudo Password | sudo killall -TERM java"
Run Code Online (Sandbox Code Playgroud)

但也会出现错误。

从 AppleScript 调用 OS X 密码拨号的正确方法是什么?

macos applescript sudo

0
推荐指数
1
解决办法
4360
查看次数

bash 查找最初在 su sudo 之前启动脚本的用户

我有一个 bash shell 脚本,必须以 root 身份运行。如果用户启动它,系统会要求他们输入 root 密码,并且脚本会在子 shell 中重新运行。./$0 &

假设名为“John”的用户启动该脚本。在他提供 root 密码后,脚本将以 root 身份重新运行,但我如何才能知道谁最初从脚本本身启动了该脚本(John)?目前,我正在使用原始启动器转储一个文件,稍后我可以参考该文件,但这很丑陋。

我考虑的其他选项是使用进程列表,但同样,必须有一个更优雅的解决方案。

GNU bash,版本 4.2.45(2)-release (x86_64-slackware-linux-gnu)

linux bash shell sudo su

0
推荐指数
1
解决办法
1892
查看次数

使用 Heredoc 在 bash 脚本 sudo 中设置变量

我正在尝试运行一个切换用户的脚本(遵循此答案)。我无法在其中设置变量。我尝试了很多事情,但最基本的是:

sudo -u other_user bash << EOF
V=test
echo "${V}"
EOF
Run Code Online (Sandbox Code Playgroud)

更现实的是,我正在做类似以下的事情:

sudo -u other_user bash << EOF
cd
V=$(ls)
echo "${V}"
EOF
Run Code Online (Sandbox Code Playgroud)

每次我尝试使用该变量时,V它都会被取消设置。如何设置变量?

bash sudo su

0
推荐指数
1
解决办法
1622
查看次数

在安装后例程期间使用 sudo 安装全局包会产生权限错误

我正在尝试在 CircleCI 上运行此命令:

 sudo npm install -g --loglevel=warn @oresoftware/r2g
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

#!/bin/bash -eo pipefail
sudo npm install -g --loglevel=warn @oresoftware/r2g
/usr/local/bin/r2g -> /usr/local/lib/node_modules/@oresoftware/r2g/cli/r2g.sh
/usr/local/bin/r2g_run -> /usr/local/lib/node_modules/@oresoftware/r2g/cli/r2g_run.sh
/usr/local/bin/r2g_copy_smoke_tester -> /usr/local/lib/node_modules/@oresoftware/r2g/assets/copy_smoke_tester.sh

> @oresoftware/r2g@0.0.132 postinstall /usr/local/lib/node_modules/@oresoftware/r2g
> ./assets/postinstall.sh

mkdir: cannot create directory ‘/root’: Permission denied
could not create directory => '/root/.r2g/temp/project'...
mkdir: cannot create directory ‘/root’: Permission denied
could not create oresoftware/bash dir.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @oresoftware/r2g@0.0.132 postinstall: `./assets/postinstall.sh`
npm ERR! Exit status 1
npm ERR! 
npm …
Run Code Online (Sandbox Code Playgroud)

linux sudo root chown docker

0
推荐指数
1
解决办法
1127
查看次数

为什么我不能 sudo 在 /etc/ 中回显一行?

我在centos上,我做到sudo echo 'testline'>>/etc/test/test了说-bash: /etc/test/test: Permission denied

但是,当我执行sudo vi /etc/test/test并插入testline并执行时:wq它写得很好,为什么会发生这种情况?

linux vi sudo file-permissions echo

0
推荐指数
2
解决办法
1113
查看次数

如何解决 React Native 项目中权限被拒绝的问题?

任何人在跑步后都遇到过这个问题

react-native run-android/ios
Run Code Online (Sandbox Code Playgroud)

android/app/build/generated/rncli/src/main/java/com/facebook/react/PackageList.java(权限被拒绝)

当我sudo在任何命令之前写,就像npm install/yarn add etc它工作得很好

否则我遇到了与权限相关的错误

macos shell sudo react-native

0
推荐指数
1
解决办法
5180
查看次数

bash,测试curl是否存在,如果不存在则安装

我用谷歌搜索了很多解决方案,但没有找到一个完全有效的解决方案。我自己的粗略工作是:

[ $(which curl) -eq "" ] || sudo apt install curl
Run Code Online (Sandbox Code Playgroud)

这不太有效,说“预期是一元运算符”。我已经尝试过===,所以我不知道如何进行这样的测试。空输出是否有可能which curl是 $null 而我必须对此进行测试?

或者,有没有办法只运行sudo apt install curl然后2>&null在最后抑制它是否已经安装?

bash curl sudo

0
推荐指数
1
解决办法
3752
查看次数

无法连接到 docker 提供商。请启动或安装 docker 提供程序

我正在使用 ddev 在 Linux(Ubuntu 20.04) 上安装Drupalddev需要安装 docker,在 Ubuntu 中,我可以使用 sudo 与 docker 连接。如果我想检查正在运行的容器,我将使用该命令。

sudo docker ps
Run Code Online (Sandbox Code Playgroud)

但是当我运行此命令使用 ddev 配置本地环境时。我收到这个错误。该错误表明 ddev 无法与 docker 提供程序连接。

ddev config --docroot web --project-name my-site --project-type drupal10 --create-docroot
Run Code Online (Sandbox Code Playgroud)

给出了这个错误。

无法连接到 docker 提供商。请启动或安装 docker 提供程序。

这个问题的解决方案是我需要让docker在没有sudo的情况下运行。我浏览了这个问题并找到了不同的解决方案并尝试了它们,但它们都不起作用。这些是我尝试解决该问题的命令。

我尝试使用 sudo 运行 ddev 命令,但出现此错误。

sudo ddev config --docroot web --project-name my-site --project-type drupal10 --create-docroot
Run Code Online (Sandbox Code Playgroud)

WARN[0000] 未读取全局配置文件,因为以 root 权限运行 未填充自定义命令或主机添加,因为以 root 权限运行 ddev 未设计为以 root 权限运行,请以普通用户身份运行且无需 sudo

sudo groupadd docker

sudo usermod -aG docker $(whoami)

sudo service …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu sudo docker ddev

0
推荐指数
1
解决办法
3539
查看次数

"sudo"命令如何工作?

我的理解是sudo是以root权限执行给定命令,但我经历过在sudo中使用sudo输入命令会缓存授权.它是如何实际工作的?

例如

sudo fdisk -l
[sudo] password for xxxxx:
Run Code Online (Sandbox Code Playgroud)

(一旦我通过输入密码授权,连续的sudo命令不会提示输入密码)

sudo fdisk -l
Run Code Online (Sandbox Code Playgroud)

(不提示输入密码)

sudo mount -t vfat /dev/sda1 /media/test
Run Code Online (Sandbox Code Playgroud)

无论须藤,实际上是包装(替代/切换用户)?

linux terminal ubuntu sudo ubuntu-12.04

-1
推荐指数
1
解决办法
3532
查看次数

sudo:apt-get:命令找不到linux服务器

我正在使用Linux服务器并且正在安装jdk软件包.但是,当我尝试sudo apt时,我收到以下错误:

sudo: apt-get: command not found
Run Code Online (Sandbox Code Playgroud)

Linux的版本是:

3.10.0-229.el7.x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

无法弄清楚什么是错的

linux sudo apt apt-get

-1
推荐指数
1
解决办法
3万
查看次数

标签 统计

sudo ×10

linux ×6

bash ×3

docker ×2

macos ×2

shell ×2

su ×2

ubuntu ×2

applescript ×1

apt ×1

apt-get ×1

chown ×1

curl ×1

ddev ×1

echo ×1

file-permissions ×1

react-native ×1

root ×1

terminal ×1

ubuntu-12.04 ×1

vi ×1