标签: su

Root SSH 登录有效,但 su/sudo 到 root 无效

我最近在一个客户端盒子上工作,并使用 root 凭据通过 SSH 进入盒子,但是当我尝试 su 或 sudo 到 root 用户时,它指出了错误的密码。我尝试更改 root 密码并知道我输入正确。

感谢帮助

oracle linux su ssh root

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

如何从 Apache 上启动的 PHP 运行 su?

我尝试使用 PHP shell_exec 函数运行 su 命令。起初我试过:

<?php
echo(shell_exec('echo \'password\' | su user -c \'whoami\' 2>&1;'));
?>
Run Code Online (Sandbox Code Playgroud)

我得到了:

su: must be run from a terminal
Run Code Online (Sandbox Code Playgroud)

然后我阅读了有关使用 python 的 pty 生成终端并将其放入 shell 代码的内容:

<?php
echo(shell_exec('echo "if [ -t 1 ] ; then echo "terminal found"; fi; echo \'password\' | su user -c \'whoami\';  exit" | python -c \'import pty; pty.spawn("/bin/bash")\' 2>&1;'));
?>
Run Code Online (Sandbox Code Playgroud)

这是输出:

if [ -t 1 ] ; then echo terminal found; fi; echo 'password' | su user -c 'whoami';  exit …
Run Code Online (Sandbox Code Playgroud)

php su terminal

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

切换到其他用户

我正在尝试通过 SSH 连接到服务器,然后切换到名为“jenkins”的用户。从下面的命令中可以看出,运行后我su - jenkins仍然在 root 用户的主目录中,并whoami表明我仍然是 root,即使su没有返回错误

don@Don-MacBook-Air:~$ ssh root@perkins.corp.foo
root@perkins.corp.foo's password: 
Last login: Thu Jan  8 03:02:23 2015 from 10.0.16.57
root@perkins.corp.foo:~ $ whoami
root
root@perkins.corp.foo:~ $ su - jenkins
root@perkins.corp.foo:~ $ whoami
root
root@perkins.corp.foo:~ $ pwd
/root
Run Code Online (Sandbox Code Playgroud)

我已经验证有一个名为的用户,jenkins所以我不明白为什么会失败。服务器运行的是 Red Hat 4.4.7-4。

su redhat

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

无法在 /bin/false 用户下运行命令

森托斯 8.

snowuser

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep snowuser  
snowuser:x:1002:1002::/home/snowuser:/bin/bash   
[snowuser@snowcannon-01 ~]$ groups  
snowuser wheel
Run Code Online (Sandbox Code Playgroud)

tomcat用户:

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep tomcat  
tomcat:x:1003:1003::/opt/tomcat:/bin/false  


cat /etc/group | grep "tomcat\|snowuser"  
wheel:x:10:ydyachuk,amsliusar,snowuser  
snowuser:x:1002:   
tomcat:x:1003:   
Run Code Online (Sandbox Code Playgroud)

尝试在用户下运行Tomcat的启动脚本tomcat

/bin/su tomcat -c /opt/tomcat/bin/startup.sh

但没有任何意义,既没有出现任何错误消息,也没有执行 Tomcat 进程。

我只有一个细节是该命令执行时出现错误:

[snowuser@snowcannon-01 ~]$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

似乎tomcat用户具有执行脚本的适当权限:

[snowuser@snowcannon-01 ~]$ ll /opt/tomcat/bin/startup.sh 
-rwxr-xr-x. 1 tomcat tomcat 1904 Nov 11 15:14 /opt/tomcat/bin/startup.sh
Run Code Online (Sandbox Code Playgroud)

如何让 Tomcat 运行?

su tomcat centos centos8

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

通过ssh用户执行root命令

我的目标是通过 ssh 从另一台 Linux 主机以 root 用户身份执行命令。

问题是:环境不允许直接访问root用户。

有效的手动方式是首先通过 ssh-key 连接到非特权用户,然后 su 到 sudo 特权用户,然后 sudo -i/sudo su 到 root 帐户并执行命令。

一种对我来说非常方便的解决方案是使用Python 和 Paramiko

我的问题是,如果没有 Python,这样的事情是否也可能实现。最后,我想执行一个脚本,该脚本读取特权用户密码,然后以 root 用户身份在远程系统上执行命令。

我想到了这样的事情:

ssh -t user01@host su user02 -c 'sudo -S cat /etc/shadow'
Run Code Online (Sandbox Code Playgroud)

如果我直接在机器上执行此命令,它可以工作,但是一旦我通过 ssh 尝试它,就会出现错误:su: invalid option -- 'S'

在我看来,这是 ssh -t 和 sudo -S 组合的问题,但我不明白。

有什么建议么?感谢您的帮助!

su ssh sudo

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

如何使用 su 命令访问帐户?

问题:在 MacOS 中使用 su 命令访问帐户,更多信息请点击此处。我可以访问我的其他帐户,但不能访问根据说明创建的帐户。该命令不会更改用户:

su postgres
Run Code Online (Sandbox Code Playgroud)

问题:为什么我无法使用 su 命令访问帐户?

su mac-osx accounts

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

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

“su”在 FreeBSD 上不起作用

下面我在 FreeBSD 上使用“su”命令:

FreeBSD rand.vstyle.local 9.0-RELEASE FreeBSD 9.0-RELEASE #0 amd64

这是服务器 RAND :)

[svn@rand ~]$ su logostudiotest1 /bin/ls
密码:
/bin/ls: /bin/ls: 无法执行二进制文件

为什么“su”不起作用?!

freebsd su shell

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

限制 su 访问

我在我们的环境中使用 rhel7.2。我不希望系统上的任何用户“su”到 2 个特定用户说“user3 和 user4”。但是“user3 和 user4”可以“su”到系统中的任何用户。

让我详细解释我的要求。假设我在服务器上有 4 个用户,比如 user1、user2、user3 和 user4。

假设我使用用户 1 或用户 2 登录到服务器。“我的要求是它不能将用户“su”切换到用户“user3”和“user4”。但是如果我使用“user3”或“user4”登录服务器,我可以将用户“su”切换到用户1或user2。

简而言之

在服务器上以 User1 身份登录> su - user3 -------这不应该工作

在服务器上以 User3 身份登录> su - user1 --------这应该可以工作

su

-4
推荐指数
1
解决办法
1033
查看次数

标签 统计

su ×9

linux ×2

ssh ×2

accounts ×1

centos ×1

centos8 ×1

freebsd ×1

mac-osx ×1

oracle ×1

php ×1

redhat ×1

root ×1

shell ×1

sudo ×1

terminal ×1

tomcat ×1