Articles of sudo

vim和sudo可执行文件的path

我通过编辑/ etc / environment弄乱了我的PATHvariables,我没有rm,sudo或许多命令。 有人可以告诉我的pathvim和sudo可执行文件,所以我可以解决这个问题

在Vagrant上configuration期间如何以其他用户身份执行命令?

Vagrant在提供期间以root身份执行我的脚本。 但是我想在configuration期间执行一些命令作为另一个用户。 这就是我现在的做法: su – devops -c "git clone git://github.com/sstephenson/rbenv.git .rbenv" su – devops -c "echo 'export PATH=\"$HOME/.rbenv/bin:$PATH\"' >> ~/.bash_profile" su – devops -c "echo 'eval "$(rbenv init -)"' >> ~/.bash_profile" su – devops -c "git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build" su – devops -c "echo 'export PATH=\"$HOME/.rbenv/plugins/ruby-build/bin:$PATH\"' >> ~/.bash_profile" su – devops -c "source ~/.bash_profile" 但是我想把这个更好,就像这样: […]

如何通过PuTTY的psftp.exe来sudo su

使用(PuTTY) PSFTP.exe可以打开一个shell脚本来在Linux上执行某些操作。 在这个例子中,我使用psftp.exe打开get30.txt文件。 %%PROJECT/ROOT_DIRECTORY%%\PuTTY\psftp.exe user@domain.nl -pw password -b "%%PROJECT/ROOT_DIRECTORY%%\Scripts\%%ENVIRONMENT/NAME%%\get30.txt" 在get30.txt我有以下操作: sudo su -l4097gps cd /appl/gps/RIT/IN/30/RAP-T1 chmod 777 GP*.* get -r /appl/gps/RIT/IN/30/RAP-T1 rm /appl/gps/RIT/IN/30/RAP-T1/* quit 不幸的是, psftp不能识别sudo su 。 如何在使用自己的用户login后向不同的用户申请?

为linux内核创build补丁文件

我正在尝试创build一个补丁文件,用于在Linux内核中完成的修改。 原始目录是/usr/src/linux.vanilla ,新内核是/ usr / src / linux-master 。 我用的命令是 h@ubuntu:/usr/src$ sudo diff -rupN linux-master/ linux.vanilla/ > original.patch 但是,我收到一个错误说明 bash: original.patch: Permission denied 任何人都可以指出我哪里错了。 我使用Ubuntu和Linux内核版本3.15.0。 谢谢。

从nohup + sudo获取pid并返回状态

我有一个shell的片段: nohup sudo node server.js >> node.log 2>&1 & if [ $? -eq 0 ]; then echo $! $? echo $! > pids fi 我期望的是,如果node server.js运行正常,然后logging此进程的PID到文件:pids。 但它不起作用, $? 总是0,因为这是sudo进程的状态? 而$! 也不是node命令进程的pid。 那么如何才能在上面的shell脚本中获得正确的返回码和node server.js pid?

我们真的应该使用厨师来pipe理sudoers文件吗?

这是我的问题。 我担心,如果厨师在sudoers文件中发生了某些事情,可能是厨师用户错误地使用了食谱,那么服务器将完全无法访问。 我会恨我们完全失去一个客户的生产服务器,因为我们搞砸了sudoers文件,不能再ssh到盒子里。

sudo使用什么shell

我的道歉,这必须是别人提出的问题,但似乎是谷歌certificate。 我试图找出什么shell被调用,因为我遇到了不一致。 如果我sudo ,我的脚本不工作,但如果我sudo bash 。 然而,当我sudo echo $0 ,它说bash。 cpu=$(cat /proc/cpuinfo | grep Revision | cut -d' ' -f 2-); if [[ "a22082" = $cpu || "a02082" = $cpu ]]; then echo 'do stuff'; fi 如果我用#!/ bin / sh指定命令解释器,它仍然会失败,但它更具体#!/ bin / bash 。 我(现在)知道[[是bash特定的,但尽pipe响应它不像sudo的默认shell是bash。

PHP:如何检测用户是root / sudo?

我有一个命令行PHP脚本,需要在Linux系统上以root权限运行。 在我们旧的Redhat Enterprise 2 Linux发行版上,这个代码工作正常: // If we are linux, make sure we're root if ($bIsLinux && $_ENV['USER'] != 'root') die("This script must be run as root.\n"); 但是,我们已经升级了服务器,现在正在使用现代版本的Linux(Amazon Linux)。 这是伟大的,但上述不再起作用。 在AML上,你实际上并没有root密码,但你可以从ec2-user sudo。 我甚至尝试sudo -i但不会改变环境variables – 因此上面的代码失败。 所以在继续之前,我需要一种新的方法来确保根级别的权限。 有人有主意吗? 谢谢!

bash:sudo:在debian上找不到的命令jessie

最近我在我的笔记本电脑上安装了debian 8,当我尝试使用“sudo”时,它回复说 bash: sudo: command not found 当我使用 /usr/bin/sudo 它回答 bash: /usr/bin/sudo: No such file or directory 之后当我尝试用“apt-get”安装时,我得到了这个 Reading package lists… Done Building dependency tree Reading state information… Done The following NEW packages will be installed: sudo 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/850 kB […]

如何在有限的sudo剧本中使用Ansible服务模块?

我正在编写一个剧本来部署一个应用程序。 我是SSH用户,而不是root用户。 我的应用程序完成部署后,我想重新启动它的服务。 显然,要重新启动服务,我需要某种sudo权限。 在我的/etc/sudoers文件中有: redadmin ALL=(root) NOPASSWD: /usr/sbin/service apache2 * 然而,当我运行我的Ansible剧本时,它会挂起,当它到达: – name: Restarting apache service: name=apache2 state=restarted sudo: yes 我怎样才能修改我的手册使用Ansible的service模块,而不给redadmin用户完全的root权限?