基本上我试图从php网页重启服务.
这是代码:
<?php
exec ('/usr/bin/sudo /etc/init.d/portmap restart');
?>
Run Code Online (Sandbox Code Playgroud)
但是/var/log/httpd/error_log,我知道了
无法改为sudoers gid:不允许操作
在/ var/log/messages中,我明白了
9月22日15:01:56 ri kernel:audit(1222063316.536:777):avc:被拒绝{getattr} for pid = 4851 comm ="sh"name ="var"dev = dm-0 ino = 114241 scontext = root:system_r :httpd_sys_script_t tcontext = system_u:object_r:var_t tclass = dir
9月22日15:01:56 ri kernel:audit(1222063316.549:778):avc:denied {setrlimit} for pid = 4851 comm ="sudo"scontext = root:system_r: httpd_sys_script_t tcontext = root:system_r:httpd_sys_script_t tclass = process
9月22日15:01:56 ri kernel:audit(1222063316.565:779):avc:拒绝{read} for pid = 4851 comm ="sudo"name ="shadow"dev = dm-0 ino = 379669 scontext = root:system_r:httpd_sys_script_t tcontext = system_u:object_r:shadow_t …
我想知道命令行应用程序是否有可能请求root访问权限,就像尝试调用自身一样sudo.
我正在寻找一种解决方案,允许编写需要sudo特权的应用程序.
它不必始终只在需要时请求root访问权限.
我有一个用Ruby编写的特定脚本需要root权限.大多数其他流程不需要,因此在Monit中很容易设置.不是这个.
服务器需要在386处侦听,此端口仅适用于root.我不会详细说明为什么,因为1)我不是一个低级别的人,2)到目前为止使用sudo时工作正常.
monit配置文件很简单,如下所示:
set logfile syslog facility LOG_daemon # Default facility is LOG_USER
set mailserver smtp.sendgrid.net
username "blah", password "blah"
with timeout 20 seconds
set alert blah@bleh.com
set logfile /home/deploy/monit.log
check process ldapserver
with pidfile /var/pids/ldap_server.pid
start program = "/usr/local/bin/ruby /var/lib/ldap_server.rb"
stop program = "/bin/sh"
Run Code Online (Sandbox Code Playgroud)
注意:我已将/ bin/sh放入停止程序中,因为此过程没有停止程序.
如果我这样说:
start program = "/usr/local/bin/ruby /var/lib/ldap_server.rb"
Run Code Online (Sandbox Code Playgroud)
它无法启动.没有提示.
start program = "/usr/bin/sudo -u deploy /usr/local/bin/ruby /var/lib/ldap_server.rb
Run Code Online (Sandbox Code Playgroud)
也失败了.没有输出.
start program = "/bin/su deploy -c '/usr/local/bin/ruby /var/lib/ldap_server.rb'
Run Code Online (Sandbox Code Playgroud)
无法启动.
我也尝试使用> ~/out.log 2 > &1捕获stderr和stdout来重定向输出,但它似乎不起作用.
现在,我在部署用户下开始监控,这是受限制的.所以,我需要以某种方式以root身份运行ldap服务器,但事实证明这很难做到. …
我使用npm安装请求包。它似乎位于这里:/ usr / local / lib / node_modules / request /
var request = require("request");
request("http://www.google.com", function(error, response, body) {
console.log(body);
});
Run Code Online (Sandbox Code Playgroud)
module.js:340 throw err; ^错误:找不到模块“请求” ...
我需要更改或执行什么?更多信息,MAC OSX,node-v0.10.26.pkg,sudo -H npm install -g请求,无错误
我正在尝试创建一个补丁文件,用于我在linux内核中所做的修改.原始目录是/usr/src/linux.vanilla,新内核是/ usr/src/linux-master.我用的命令是
h@ubuntu:/usr/src$ sudo diff -rupN linux-master/ linux.vanilla/ > original.patch
Run Code Online (Sandbox Code Playgroud)
但是我收到一个错误说明
bash: original.patch: Permission denied
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我出错的地方.我使用的是Ubuntu和Linux内核版本3.15.0.
谢谢.
我想改变source.list.
主机有一个用户deploy密码deploy,我可以连接ssh并使用source.list进行任何操作sudo.然而ansible似乎并没有真正对这个用户做sudo.这种行为发生在所有需要sudo的任务和角色上.
库存:
machine ansible_ssh_host=172.23.0.43 ansible_connection=ssh ansible_ssh_user=deploy ansible_ssh_pass=deploy
Run Code Online (Sandbox Code Playgroud)
角色/公寓来源/任务/ main.yml
- name: Copy source list
copy: src=sources.list dest=/etc/apt/sources.list
Run Code Online (Sandbox Code Playgroud)
playbook.yml
---
- name: apt and base system
hosts: machine
sudo_user: deploy
sudo: True
roles:
- apt-sources
Run Code Online (Sandbox Code Playgroud)
安排输出
failed: [machine] => {"failed": true, "md5sum": "74b6936296cdd0c94ef9b1f848bf2dab"}
msg: Destination /etc/apt not writable
FATAL: all hosts have already failed -- aborting
PLAY RECAP ********************************************************************
to retry, use: --limit @/home/montells/provision.retry
machine : ok=1 changed=0 unreachable=0 failed=1
Run Code Online (Sandbox Code Playgroud)
运用
ansible:v1.6.6
主机操作系统:Ubuntu 14.04
我有一个正则表达式,并希望在sudoers文件中使用它.但我无法让它发挥作用.
\/test\/([0-9a-zA-Z\/]+\.[0-9a-zA-Z]+)+
Run Code Online (Sandbox Code Playgroud)
我发现它一定是
\\/test\\/([0-9a-zA-Z\/]+\.[0-9a-zA-Z]+)+
Run Code Online (Sandbox Code Playgroud)
但我不知道如何在/后使用正则表达式([...
我可以使用1到n的加号吗?我该逃脱什么?如何?
我是新手使用OSX(使用El Capitan 10.11.3)并在尝试使用sudo更改文件的权限时,我不小心损坏了它.现在,无论何时,我尝试使用sudo全局安装任何东西,我收到以下错误消息.
sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
Run Code Online (Sandbox Code Playgroud)
有什么办法可以解决吗?
我也无法查看/ etc文件夹
bash:cd:/ etc:权限被拒绝
当我检查/ etc文件夹的权限时,它们如下所示
lrwxr-xr-x@ 1 root wheel etc -> private/etc
Run Code Online (Sandbox Code Playgroud) Pip并且sudo不在我的机器上的同一条路径上,因此,当(基本上一直都是)我需要运行这两个命令时,就像这样:
sudo pip install xxx
Run Code Online (Sandbox Code Playgroud)
我得到:
sudo: pip: command not found
pip 下载软件包,但是由于安装结束时访问被拒绝,因此最终失败。
通过执行pip -V(不which pip返回任何内容),我知道pip在哪里:
pip 1.5.4 from /Library/Python/2.7/site-packages/pip-1.5.4-py2.7.egg (python 2.7)
Run Code Online (Sandbox Code Playgroud)
然后sudo bash -c 'echo $PATH',
我得到:
/usr/bin:~/bin:/bin:/usr/local/bin:/usr/local/sbin:/Applications/Zed.app/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/MacGPG2/bin
Run Code Online (Sandbox Code Playgroud)
我试图将pip符号链接到sudo的目录中,如下所示:
$ sudo ln -s /usr/local/bin/pip /usr/bin/pip,无济于事。
我怎么穿上sudo一样path?请帮助,我在这里迷路了。
我有ubuntu 16.04,我使用Ubuntu软件中心安装了Geany。我需要编辑一些恰好在根目录中的php和js文件。因此,当我尝试在Geany中保存更改时,它会产生以下错误:
Error opening file '/var/www/html/project1/team/team.php': Permission denied
The file on disk may now be truncated!
Run Code Online (Sandbox Code Playgroud)
如何让Geany编辑和保存这些文件?