Articles of sudo

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

我无法弄清楚这有什么问题。 当我在terminal中运行它并input密码时,什么都不会发生,但是如果我在terminal中单独运行每个命令,它都会起作用。 谢谢! #!/bin/bash sudo su; 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

无法从putty运行.py文件,语法错误:单词意外(期待“)”)

我对Python和Linux都是新手,因此请尽可能简单的解释,尽可能less的假设知识,但我更愿意投入时间和精力去学习。 我有一个运行Linux的Raspberry Pi 2(Model B V1.1)。 我通过腻子与这个pi交互。 我试图创build一个简单的竞争性reflection游戏,由2个button和一个LED组成。 我的目标是让LED在短时间内亮起,而第一个按下button的玩家赢得胜利。 我正在用python写这个脚本(特别是2.7.3) 我的问题是,我无法从putty内运行任何.py文件,我总是收到相同的错误: Syntax error: word unexpected (expecting ")") 要确定问题是否是我的代码中的错误,我创build了一个非常非常简单的.py文件,以检查是否发生相同的错误,并确实如此。 所以我现在相信,即使我的代码是function,一些阻止我运行任何.py文件。 我正在使用的过程如下: 首先我从putty创build一个新的python文件: sudo nano test.py 接下来我input我的Python代码(现在非常简单,因为我无法获取任何.py文件来运行) for each in range(5): print 'hello' 然后按CTRL + O写入文件,按回车键,然后按CTRL + X退出 最后,我使用可执行文件 sudo chmod u+x test.py 并尝试运行它 sudo ./test.py 再次发生类似的错误 Syntax error: "(" unexpected 然后我决定直接在python shell中input代码 sudo python >>>for each […]

SSH环境variables为sudo访问

这个问题是这个问题的另一面 如果我想通过ssh连接启动一些命令,我​​提供了带有variables的〜/ .ssh / environment文件(但是它不允许我在那里使用bash命令) 但是,如果我想用sudo启动一些命令(例如sudo java ),通常我把下面一行放到我的.bashrc文件中 alias sudo='sudo env PATH=$PATH' 所以,我不能把这个别名放到我的〜/ .ssh / environment文件中,因为它不支持任何命令。 那么,在这种情况下最好的解决办法是什么?

期待脚本中的sudo问题

我正在运行以下脚本 #!/usr/bin/expect -f set user [lindex $argv 0] set pass [lindex $argv 1] set PATH [lindex $argv 2] set INV_PATH [lindex $argv 3] spawn ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $user@localhost expect "assword: " send "$pass\r" expect "$ " send "echo $pass | /usr/local/bin/sudo -S $INV_PATH/orainstRoot.sh\r" expect "$ " send "cd $PATH/bin\r" expect "$ " send […]

visudo nopasswd不工作

我试图让pipe理员组中的所有用户作为SUDO运行一个jar文件没有密码,我编辑了sudoers文件(使用visudo),并尝试了一些命令,但它仍然每次提示我input密码 /etc/sudoers : # /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL […]

sudoers NOPASSWD:sudo:没有tty礼物,也没有askpass计划

我已经添加了这样的用户: $ adduser –system –home /no/home –no-create-home –group –disabled-password –disabled-login testuser 将用户添加到组中: $ adduser testuser testgroup 添加到sudoers(visudo)的行数: testuser ALL=(ALL) NOPASSWD: ALL %testgroup ALL=(ALL:ALL) NOPASSWD: ALL 当我尝试运行带有以下内容的bash脚本时: #!/bin/sh sudo -u testuser /usr/bin/php /usr/local/bin/script.php 但是当我运行这个脚本时,我得到了日志中的错误: sudo: no tty present and no askpass program specified 编辑: requiretty不在sudoers文件中。

如何从Java提供root密码的sudo?

我想写一个小的Java应用程序,将覆盖我的/etc/resolv.conf文件(我在Ubuntu 12.04上)。 为此,我需要提供我的root密码: myUser@myMachine:~$ sudo vim /etc/resolv.conf [sudo] password for myUser: ***** 所以这个过程有三个步骤: 在terminal键入sudo vim /etc/resolv.conf terminal要我input我的root密码 我input密码并按[Enter] 从我研究过的所有东西,我可以使用以下步骤来执行上面的步骤#1: try { String installTrickledCmd = "sudo vim /etc/resolv.conf"; Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec(installTrickledCmd); } catch(Throwable throwable) { throw new RuntimeException(throwable); } 但是当这个执行的时候,shell会要求我的Java进程input密码。 我不知道该如何等待(步骤#2),然后将密码提供给shell(上面的步骤#3)。 提前致谢。

Emacs:编辑没有stream行的根文件

下面是在非root用户运行emacs中打开root文件的方法: erf () { SUDO_EDITOR="emacsclient -n -a emacs" sudoedit $@; } ;; erf = Emacs Root Foreground 它会询问一个root密码,一旦你input密码,它会在/tmp打开一个文件的副本。 例: $ cd /etc/apt $ erf sources.list 打开: sourcesXXiOSmYN.list 。 所以我编辑的东西,并保存与Cx Cs – 但它没有保存: $ sudoedit: sources.list unchanged 我如何让它保存的东西? (function将非常整洁) 编辑 : erf () { SUDO_EDITOR="emacsclient -a emacs" sudoedit $@; } ;; erf = Emacs Root Foreground […]

我可以在不离开vim的情况下获得root权限吗?

有时当我编辑一个需要root权限的文件时(例如/ etc下的文件),但是我忘记运行vim作为sudo。 编辑完成后,键入:wq保存并离开,我发现我不能,甚至使用!wq ,因为这个文件是只读的。 如果我离开并重新编辑文件,我的所有工作都将丢失,但是如果没有,我不能保存我的编辑。 那么,如何在不离开vim的情况下获得root许可?

获得sudo和nohup一起工作

Linux新手在这里。 我有一个perl脚本,它需要两个命令行input。 我试图在后台运行它,但这是我得到的: [~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv & [2] 19603 [~user]$ nohup: appending output to `nohup.out' 系统返回“nohup:将输出追加到nohup.out”后,不会出现新的提示。 然后只要我input其他命令,shell会告诉我这个进程已经停止了: [~user]$ nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv & [2] 19603 [~user]$ nohup: appending output to `nohup.out' ls ascii_loader_script.pl format_wrds_trd.txt nohup.out norm_wrds_trd.cfg [2]+ Stopped nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv 我已经看了这个post,并尝试执行“sudo date”之前执行该命令。 仍然有同样的事情。 http://www.sudo.ws/pipermail/sudo-users/2003-July/001648.html