草庐IT

linux - Docker 中的“su”命令返回 'must be run from terminal'

我正在开发一个用于教学目的的docker环境,需要能够在docker内切换用户。我使用密码设置了“用户”用户,但是当我尝试使用su切换到它时,我得到“sumustberunfromterminal”。如果我尝试ssh进入docker并通过phpshell发出命令(一个apache服务正在Docker实例上运行),我会得到这个。非常感谢任何帮助。 最佳答案 当你通过phpSSH进入或进入时,你的session没有被分配一个pty。我使用了以下每种解决方案:回答1:使用ssh登录时使用ssh-t或ssh-tt来分配pty:在运行这样的s

linux - Docker 中的“su”命令返回 'must be run from terminal'

我正在开发一个用于教学目的的docker环境,需要能够在docker内切换用户。我使用密码设置了“用户”用户,但是当我尝试使用su切换到它时,我得到“sumustberunfromterminal”。如果我尝试ssh进入docker并通过phpshell发出命令(一个apache服务正在Docker实例上运行),我会得到这个。非常感谢任何帮助。 最佳答案 当你通过phpSSH进入或进入时,你的session没有被分配一个pty。我使用了以下每种解决方案:回答1:使用ssh登录时使用ssh-t或ssh-tt来分配pty:在运行这样的s

linux - shell 脚本中的 su 和 sudo

有一个shell脚本(/bin/sh,不是bash)需要root权限才能执行。如果它由普通用户运行,它应该要求用户输入密码以获得root访问权限并自行重新运行。现在它使用以下代码:if[$(id-u)-ne0];然后suroot--$0$@;...fi这很好用,但有些操作系统(如Ubuntu)根本没有root密码。另一方面,许多系统使用sudo获得root权限。问题是:脚本如何在不要求用户输入太多密码的情况下检测是使用su还是sudo(例如输入sudo密码,如果失败-运行su)。 最佳答案 不应该。如果脚本需要root权限,则应以r

android - 使用 "su"命令时出现错误

我尝试制作批处理文件来运行adb命令。我想使用su-c,但出现错误:su:invaliduid/gid'-c'.我在某处看到我的su版本不支持-c,我该如何启用它? 最佳答案 在批处理文件中应该是这样的:adbshell"su0"例如:adbshell"su0mount-orw,remount/system" 关于android-使用"su"命令时出现错误,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

linux - 如何在一行命令中将密码应用于 sudo 并执行 su root?

我创建了一个名为samX的用户,具有root权限(在visudo中附加了“samXALL=(ALL:ALL)ALL”)。我正在尝试将密码应用到sudo,然后是suroot并在一行命令中依次执行whoami。我当前的命令有点如下,但它提示错误:sudo:suroot;whoami:找不到命令echo'CbEYKFKt'|sudo-S'suroot;whoami'其中'CbEYKFKt'为用户samX的密码。有什么办法可以解决这个问题吗?非常感谢。 最佳答案 echo'CbEYKFKt'|sudo-Ssu-cwhoami应该工作--c为

linux - "sudo -i"和 "sudo su -"有什么区别

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭6年前。Improvethisquestion这两个命令都会让我以root身份登录。我知道设置的环境设置有所不同。你用的是哪一个?哪种做法更好?

linux - 为什么我不能在 shell 脚本中使用 'sudo su'?如何使 shell 脚本自动运行 sudo

我不知道这有什么问题。当我在终端中运行它并输入密码时,没有任何反应,但如果我在终端中单独运行每个命令,它就可以工作。谢谢!#!/bin/bashsudosu;mkdir/opt/D3GO/;cp`pwd`/D3GO/opt/D3GO/;cp`pwd`/D3GO.png/opt/D3GO/;cp`pwd`/D3GO.desktop/usr/share/applications/;chmod+x/opt/D3GO/D3GO 最佳答案 您可以使用HereDocuments将输入重定向到交互式shell脚本。接线员是一条读取输入的指令,直到

android - 执行 chmod 时 ADB Shell 给出错误模式(在 su 下)

我遇到了与AndroidADBShell相关的问题。当我尝试执行命令chmod时,他给了我一个“坏模式”。我不明白为什么。我确定我在“su”下执行,由“#”表示。任何人都知道为什么会发生这种情况,以及如何使其工作?提前致谢。chmodo+rw/dev/ttyS1 最佳答案 Badmode是指文件的权限设置不正确,并且某些版本的chmod不理解o+rw表示法。所有chmod都理解八进制表示法,其中6=读/写,所以试试chmod666/dev/ttyS1我希望这会有所帮助。 关于androi

linux - 如何通过多个 sudo 和 su 命令找到原始用户?

通过sudo或su运行脚本时,我想获取原始用户。无论多个sudo或su在彼此内部运行,特别是sudosu-,这都应该发生。 最佳答案 结果:使用我是谁|awk'{print$1}'ORlogname因为不保证其他方法。以自己的身份登录:evan>echo$USERevanevan>echo$SUDO_USERevan>echo$LOGNAMEevanevan>whoamievanevan>whoami|awk'{print$1}'evanevan>lognameevanevan>普通sudo:evan>sudo-sroot>echo

linux之root用户,以及命令sudo与su

虚拟机中linux如何进入root刚安装好的Linux系统没有设置root用户密码的,设置密码步骤如下输入sudopasswdroot,其中root为默认,可省略为sudopasswd输入密码,并再次输入确认密码如果没有sudo权限,需要先取得sudo权限(ubuntu安装后,默认享有),这个后文介绍修改好密码后,输入suroot并验证密码,即可切换为root用户。但是,不建议直接使用root用户!root用户Linux系统中root是拥有最高权力的用户,可以在系统中实施任意的行为。由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务。一般情况下临时使