相关疑难解决方法(0)

sudo echo"something">>/etc/privilegedFile不起作用......有替代方案吗?

对于Linux中的sudo权限,这是一个非常简单的问题,至少看起来应该是这样.

有很多的时候,我只是想将一些东西附加到/etc/hosts或类似的文件,但最终没有能够因为两者>>>不准,甚至有根.

有没有必要让这项工作无需susudo su进入root?

permissions bash shell scripting sudo

555
推荐指数
9
解决办法
18万
查看次数

在管道上使用"tee"时如何将stderr写入文件?

我知道如何使用tee写输出(STDOUT中)aaa.shbbb.out,同时还在终端显示它:

./aaa.sh | tee bbb.out
Run Code Online (Sandbox Code Playgroud)

我现在如何写STDERR一个名为的文件ccc.out,同时还显示它?

unix linux bash

507
推荐指数
10
解决办法
24万
查看次数

如何修复'sudo:no tty present and no askpass program specified'错误?

我正在尝试使用makefile编译一些源代码.在makefile中有一堆需要运行的命令sudo.

当我从终端编译源时,一切正常,并且在第一次sudo运行命令等待密码时暂停make .输入密码后,进行简历并完成.

但我希望能够在NetBeans中编译源代码.所以,我开始了一个项目,并展示了netbeans在哪里可以找到源代码,但是当我编译项目时,它会给出错误:

sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)

它第一次命中sudo命令.

我在互联网上查找了这个问题,我发现的所有解决方案都指向一件事:禁用此用户的密码.由于这里的用户是root用户.我不想那样做.

还有其他解决方案吗?

linux sudo tty

393
推荐指数
14
解决办法
67万
查看次数

为什么sudo cat给出了权限被拒绝但sudo vim工作正常?

我试图在我的arch的pacman.conf文件中自动添加存储库源,但是echo在我的shell脚本中使用该命令.但是,它失败了: -

sudo echo "[archlinuxfr]" >> /etc/pacman.conf
sudo echo "Server = http://repo.archlinux.fr/\$arch" >> /etc/pacman.conf
sudo echo " " >> /etc/pacman.conf

-bash: /etc/pacman.conf: Permission denied
Run Code Online (Sandbox Code Playgroud)

如果我使用vim手动更改/etc/pacman.conf,可以这样做

sudo vim /etc/pacman.conf
Run Code Online (Sandbox Code Playgroud)

并且退出vim :wq,一切正常,我的pacman.conf已经手动更新,没有"Permission denied"投诉.

为什么会这样?我该如何sudo echo上班?(顺便说一下,我也尝试过使用sudo cat但失败的权限也被拒绝了)

bash shell echo cat

78
推荐指数
4
解决办法
6万
查看次数

sudo cat << EOF>文件不起作用,sudo su呢

我在bash的命令提示符下尝试了以下内容:

sudo cat << EOF > /etc/yum.repos.d/some-name.repo
#Content
#....
#...
EOF
Run Code Online (Sandbox Code Playgroud)

它抱怨说:

-bash: /etc/yum.repos.d/some-name.repo: Permission denied
Run Code Online (Sandbox Code Playgroud)

然后我做了sudo su并尝试了除了sudo之前的完全相同的东西cat,它没有任何问题.上面我错过了什么?

bash shell sudo

44
推荐指数
5
解决办法
3万
查看次数

Unix:混乱使用Tee -command

手动说明发球台是"管道配件" - 工具.案件[1]让我困惑:

案件

echo "foo bar" | sudo tee -a /path/to/some/file
Run Code Online (Sandbox Code Playgroud)

2.案件

:w !sudo tee %
Run Code Online (Sandbox Code Playgroud)

从案例中很难理解发球台的逻辑.发球怎么样?

unix tee

14
推荐指数
3
解决办法
2万
查看次数

将输出重定向到文件权限被拒绝?

我想做一个简单的重定向.当我做

sudo curl <insert link here> > a.txt
Run Code Online (Sandbox Code Playgroud)

我想把curl输出的所有数据都放到a.txt中.但是,我一直在说错误

a.txt: Permission denied
Run Code Online (Sandbox Code Playgroud)

有人会知道怎么解决这个问题吗?我试过在网上看

sudo bash -c curl <insert link here> > a.txt
Run Code Online (Sandbox Code Playgroud)

并显示相同的错误.任何帮助,将不胜感激!谢谢!

unix curl permission-denied io-redirection

9
推荐指数
1
解决办法
8440
查看次数

通过Python/Fabric从命令行更改Unix密码

我想用一种方法在Ubuntu 10.4带有结构的远程盒子上更新我的密码.

我希望我fabfile.py看起来像这样:

def update_password(old_pw, new_pw):
    # Connects over ssh with a public key authentication
    run("some_passwd_cmd --old %s --new %s" % (old_pw, new_pd))
Run Code Online (Sandbox Code Playgroud)

不幸的是,我所知道的唯一一个命令让一个人更改密码passwd,而在Ubuntu 10.4上似乎没有任何方法可以传递新的(或旧的)密码作为参数passwd.

可以使用什么命令来更改Ubuntu 10.4上的用户密码fabric

编辑:我已经看过了usermod -p,这可能会有效,但手册页不建议这样做.

编辑:由于某种原因usermod -p,无法在面料上工作.

同样,我尝试了一个(有点不安全)mikej的答案,确实解决了这个问题:

# connecting & running as root.
from fabric.api import *
from fabric.contrib import files

files.append("%s\n%s" % (passwd, passwd), '.pw.tmp')
# .pw.tmp:
# PASSWD
# PASSWD

run("passwd %s < .pw.tmp" % …
Run Code Online (Sandbox Code Playgroud)

python unix passwords passwd fabric

8
推荐指数
3
解决办法
8040
查看次数

Docker 容器和主机之间共享命名管道 - 跨平台

我有一个在 Ubuntu Docker 容器 ( ubuntu-python )中创建的命名管道。我想从主机操作系统将数据发送到此管道,并从容器的管道中读取数据。

容器内:

我使用以下命令在容器内创建了管道

mkfifo stream

然后我使用从流中读取

cat stream

正如预期的那样,该命令似乎挂起,因为它正在等待某些输入

Docker 文件

然后,我使用卷将命名管道共享到主机操作系统

    volumes:
      - ./audio:/app/audio # stream is inside /app/audio
Run Code Online (Sandbox Code Playgroud)

主机操作系统:

我跑了

sudo bash -c "echo test > stream"

我希望这会写入流,这应该会导致原始cat stream命令取消挂起并 print test,但输入和输出命令继续挂起,表明数据实际上并未移入容器中。我使用的原因bash -c是因为我需要重定向以 root 身份运行

这一系列在主机操作系统上运行的命令运行得很好,但是一旦我引入了卷以及主机和容器之间的数据移动,它就不再起作用了。如何从主机操作系统将数据写入命名管道并使其显示在容器中?

作为参考,主机是运行 Ubuntu 20.04 的 WSL,但我计划将其部署在运行 Raspbian Lite 的 Raspberry Pi 3B+ 上。我还想将其分发给开源项目的其他用户,因此该解决方案应该与主机无关(至少对于可以实际运行 Ubuntu 容器的主机而言)。

ubuntu docker

5
推荐指数
1
解决办法
4192
查看次数

将输出重定向为其他用户

我需要sudo作为一个不同的使用,以执行某个命令.我正在尝试使用strace并将其输出重定向到文件中以供进一步分析.棘手的部分是,作为sudo'ed用户,我没有权限写入我要保存文件的位置.(并且没有sudo'ing我没有权限执行该命令开始) .

那么如何以用户A的身份执行命令,并将其输出重定向为用户B?

linux sudo pipe redirectstandardoutput

4
推荐指数
2
解决办法
2692
查看次数