标签: su

我怎样才能从root到db2inst1并在一行中调用SQL脚本?

我怎样才能surootdb2inst1和调用SQL脚本都在1号线?我在考虑这样的事情:

su db2inst1 | db2 CONNECT TO myDatabase USER db2inst1 USING mypw; db2 -c -i -w -td@ -f /tmp/deploy/sql/My.sql | exit;
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

unix db2 sql-scripts su

2
推荐指数
1
解决办法
2519
查看次数

将monit作为受限用户运行,并使其监视需要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服务器,但事实证明这很难做到. …

bash privileges sudo su monit

2
推荐指数
1
解决办法
5553
查看次数

在paramiko ssh连接上执行su用户(无密码)

我需要在ssh中登录到服务器,执行"su username"(没有密码)来执行一些命令作为该用户(在ssh中没有直接登录).

从终端,它将是这样的:

root@cs01:~# su foo
foo@cs01:/root$ cd
foo@cs01:~$ ls
Run Code Online (Sandbox Code Playgroud)

我试图用paramiko(python)做到这一点:

import paramiko
ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect('host', username='root', password='mypassword', key_filename='<filename>')

stdin, stdout, stderr = ssh.exec_command('su foo')
print stdout.readlines()
stdin, stdout, stderr = ssh.exec_command('cd')
print stdout.readlines()
stdin, stdout, stderr = ssh.exec_command('pwd')
print stdout.readlines()
ssh.close()
Run Code Online (Sandbox Code Playgroud)

但剧本并没有结束.

日志是这些:

...
DEB [20111207-16:22:25.538] thr=1   paramiko.transport: userauth is OK
INF [20111207-16:22:25.921] thr=1   paramiko.transport: Authentication (publickey) successful!
DEB [20111207-16:22:25.923] thr=2   paramiko.transport: [chan 1] Max packet in: 34816 bytes
DEB [20111207-16:22:26.088] thr=1   paramiko.transport: [chan 1] Max packet …
Run Code Online (Sandbox Code Playgroud)

python ssh shell su paramiko

2
推荐指数
1
解决办法
6480
查看次数

从网站杀死一个进程

我有代码和一切:

     pkill python
Run Code Online (Sandbox Code Playgroud)

但是我想从这样的 php 脚本运行它:

  echo shell_exec("pkill python");
Run Code Online (Sandbox Code Playgroud)

我得到一个输出,上面写着:

bash: pkill: (1503) - Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我知道问题是什么,即 pkill 是 su 命令。无论如何要更改它以便php脚本可以运行它?

php linux centos su kill-process

2
推荐指数
1
解决办法
4862
查看次数

sudo命令后的分段错误

etc/sudoers在Mac OS X 10.6.8中修改过(以某种错误的方式)文件.

出于这个原因,我删除了错误的行并替换了原始文件.但是现在每当我键入sudo命令时输出为:

sudo: /etc/sudoers is owned by uid 501, should be 0
Segmentation fault
Run Code Online (Sandbox Code Playgroud)

解决方案可能是这样,但当我输入su(和密码)输出时:

su: Sorry
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

macos sudo su segmentation-fault sudoers

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

Bash 脚本 su 退出 shell

我正在尝试编写一个 bash 脚本,该脚本以不同的用户身份执行多个命令来自动化安装过程。

在某一时刻我有

su gpadmin
gpperfmon_install --enable --password password --port 5432
y  
gpstar
y 
Run Code Online (Sandbox Code Playgroud)

su gpadmin 以 root 身份运行,一旦运行,脚本就会停止,直到我退出 gpadmin 并以 root 身份返回。

如何在不停止脚本的情况下切换到新用户?

抱歉我的无知,我尝试用谷歌搜索但没有发现任何有用的东西。任何帮助将不胜感激。

bash shell su

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

使用shell_exec()重启服务器?

我有一个128MB的VPS,偶尔也会变得杂乱无章.重新启动将解决问题,但如果我想从浏览器(密码保护页面)重新启动该怎么办.如何使用PHP的shell_exec()功能"www-data"重启我的机器(Natty Narwhal)?

我很困惑,因为它需要sudo.问题是我从未登录为www-data,它会是我的sudo密码吗?另外,我如何包含密码来执行此操作?

会使用root工作吗?如果是这样,我将如何从www-data做su?

php linux reboot su natty

1
推荐指数
2
解决办法
8296
查看次数

sudo hadoop vs su hadoop

有没有人遇到一个奇怪的环境问题,在调用hadoop命令时被迫使用SU而不是SUDO?

sudo su -c 'hadoop fs -ls /' hdfs
Run Code Online (Sandbox Code Playgroud)
Found 4 items
drwxr-xr-x   - hdfs   hdfs          0 2014-02-11 12:33 /apps
drwx------   - mapred hdfs          0 2014-03-10 10:25 /mapred
drwxrwxrwx   - hdfs   hdfs          0 2014-03-10 10:26 /tmp
drwxr-xr-x   - hdfs   hdfs          0 2014-02-11 12:34 /user

环境允许查找可执行文件:

sudo -u hdfs 'hadoop' 
Run Code Online (Sandbox Code Playgroud)
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
  namenode -format     format the DFS filesystem
...
  fs                   run a generic filesystem user client
...
...
Most commands print help when …

sudo hadoop su

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

为什么以不同的用户身份运行命令时性能急剧下降

我有一个问候世界的C例子./a.out

现在我使用time以下命令测量执行时间

time  ./a.out
Hello World
real    0m0.001s
user    0m0.000s
sys     0m0.002s

time runuser -l root -c './a.out'
real    0m0.017s
user    0m0.004s
sys     0m0.011s

time su -s /bin/bash -c "./a.out" root 
Hello World
real    0m0.080s ---> 80 times slower
user    0m0.005s
sys     0m0.071s
Run Code Online (Sandbox Code Playgroud)

为什么第三个命令80时间比第一个命令慢?

环境 - Redhat 7

c linux bash redhat su

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

如何为 su 或 sudo 设置 LD_PRELOAD?

我正在 CentOS 6.5 上工作。我的glibc版本是2.14,我不小心将/lib64/libc.so.6链接到了以前的glibc(libc-2.12.so)。

然后我运行,除了和 之外export LD_PRELOAD=/lib64/libc-2.14.so,大多数命令都可以执行。运行时,它给出“分段错误”。当 run 时,它给出"su: /lib64/libc.so.6: version `GLIBC_2.14' not find (required by /lib64/libcrypt.so.1)"susudosusudo

如何设置LD_PRELOADsusudo或者如何恢复 glibc?

linux glibc centos su

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