AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[su](server)

Martin Hope
Ani
Asked: 2024-07-27 03:00:40 +0800 CST

当远程是 WinSCP 时,su -l shell 似乎会自动关闭

  • 6

我有一个在调用时调用的脚本ssh(在 Linux 上)来运行一些命令,然后以其他用户身份登录- 当我使用任何基于 Linux的客户端su -l <anotheruser>时,这一切都运行正常。但是当我尝试使用 WinScp(选项中有文件协议)时,它不起作用!在进一步故障排除时,似乎通过调用的 shell不知何故被杀死了!因此,我在 WinScp 日志中看到以下内容:scpssh SCPsu -l <anotheruser>

(EFatal) **Connection has been unexpectedly closed.** Server sent command exit status 1

但我无法弄清楚为什么仅su在使用 WinScp 时登录 shell 才会被终止!有任何指示可以进一步调试吗?

- 编辑 -

WinSCP 日志的最后几行:

! 2024-07-27 00.23.13.824 su: must be run from a terminal
. 2024-07-27 00.23.13.824 Session sent command exit status 1
. 2024-07-27 00.23.13.824 Main session channel closed
. 2024-07-27 00.23.13.824 All channels closed
. 2024-07-27 00.23.13.824 Timeout waiting for network events
. 2024-07-27 00.23.13.824 Waiting for another 1 bytes
. 2024-07-27 00.23.13.824 Looking for incoming data
. 2024-07-27 00.23.13.824 Looking for network events
. 2024-07-27 00.23.13.824 Attempt to close connection due to fatal exception:
* 2024-07-27 00.23.13.824 **Connection has been unexpectedly closed.** Server sent command exit status 1.
. 2024-07-27 00.23.13.824 Closing connection.
. 2024-07-27 00.23.13.824 Selecting events 0 for socket 1932
* 2024-07-27 00.23.13.856 (EFatal) **Connection has been unexpectedly closed.** Server sent command exit status 1.
* 2024-07-27 00.23.13.856 Error skipping startup message. Your shell is probably incompatible with the application (BASH is recommended).

是否

! 2024-07-27 00.23.13.824 su: must be run from a terminal

指出问题!?

我的脚本通过 NSS 插件调用(libnss-ato)

--编辑2--

在使用su具有--pty选项的 util-linux 版本后,winscp 似乎卡住了!日志:

< 2024-08-02 15.00.55.772 tani1@sys7-vm81B$ echo "WinSCP: this is end-of-file:0"
. 2024-08-02 15.00.55.772 Read 31 bytes (18 pending)
< 2024-08-02 15.00.55.772 WinSCP: this is end-of-file:0
. 2024-08-02 15.00.55.772 Read 18 bytes (0 pending)
. 2024-08-02 15.00.55.772 Waiting for another 1 bytes
. 2024-08-02 15.00.55.772 Looking for incoming data
. 2024-08-02 15.00.55.772 Looking for network events
. 2024-08-02 15.01.12.135 Timeout waiting for network events
. 2024-08-02 15.01.12.135 Waiting for data timed out, asking user what to do.
. 2024-08-02 15.01.12.135 Asking user:
. 2024-08-02 15.01.12.135 **Host is not communicating for 15 seconds.
. 2024-08-02 15.01.12.135 
. 2024-08-02 15.01.12.135 Wait for another 15 seconds?** ()
su
  • 1 个回答
  • 69 Views
Martin Hope
Lesha Pipiev
Asked: 2021-11-26 05:10:14 +0800 CST

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

  • 0

森托斯 8.

有snowuser:

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep snowuser  
snowuser:x:1002:1002::/home/snowuser:/bin/bash   
[snowuser@snowcannon-01 ~]$ groups  
snowuser wheel

有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:   

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

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

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

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

[snowuser@snowcannon-01 ~]$ echo $?
1

似乎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

如何让 Tomcat 运行?

tomcat centos su centos8
  • 1 个回答
  • 188 Views
Martin Hope
einpoklum
Asked: 2020-08-10 06:02:52 +0800 CST

让一个用户成为另一个没有密码的用户?

  • 0

在(大多数)Linux 系统上,我们可以让特定用户su进入他们想要的任何人,方法是将他放在轮组中并在/etc/pam.d/su.

我想做一些更有限的事情:我想让某个用户 user1 能够“成为”(如su)另一个特定用户 user2,而无需 - 但只有这一对。即user1不应该成为他们想要的任何人,也不能允许其他用户成为user2。

这可以做到吗?如果可以,那么最不丑的方法是什么?

注意:假设我有根。如果这可以通过没有 root 权限的 user2 和 user1 以某种方式完成,那就太好了,但我对此表示怀疑。

users su pam
  • 1 个回答
  • 68 Views
Martin Hope
Maróthy Zsolt
Asked: 2016-11-10 03:49:27 +0800 CST

如何在 Debian8 上获取 su 屏幕 PID?

  • 0


我想由另一个用户运行这个命令(所以使用 su):screen -ALmdS server_mta ./mta-server -n

没关系:su - server_2 -c 'screen -ALmdS server_mta ./mta-server -n

但是我需要屏幕的PID,但是当我尝试获取时,我得到了另一个PID。

我试过这个方法:

su - server_2 -c "screen -ALmdS server_mta ./mta-server -n >>~/outlog 2>&1 & echo \$! "

但它给出了 5996 PID,但是当我检查它ps ax |grep server_mta的结果是:

5997 ?        Ss     0:00 SCREEN -ALmdS server_mta ./mta-server -n
6023 pts/45   S+     0:00 grep server_mta


我试过这个命令:

su - server_2 -c 'screen -ALmdS server_mta ./mta-server -n > /dev/null & ps ax |grep  $! '

结果是:

6829 ?        R      0:00 screen -ALmdS server_mta ./mta-server -n
6831 ?        S      0:00 grep 6829

我以为我得到了 PID,当我再次检查时ps ax |grep server_mta,我得到了另一个 PID。这里的区别是屏幕是小写的,当我签ps ax |grep server_mta入时,这是大写的。



如何获得由另一个用户使用 su 运行的屏幕进程的 PID?

linux debian gnu-screen su pid
  • 1 个回答
  • 61 Views
Martin Hope
WoJ
Asked: 2016-11-05 01:47:20 +0800 CST

为什么 Apache 可以运行命令而 root 不能?

  • 1

我有一个由 Apache 执行的服务器端脚本,以www-data. http://example.com/script.sh远程调用 ( )时,该脚本在服务器上运行良好。

我试图在同一台服务器上运行相同的脚本root,模仿www-data。它没有,甚至su www-data -c 'id'或runuser -l www-data -c 'id'失败

This account is currently not available.
2016 Nov  4 09:45:54 eu1 Attempted login by root on /dev/pts/0

此帐户确实被交互式登录锁定(这是正常的):

# grep www-data /etc/shadow
www-data:*:15246:0:99999:7:::
# grep www-data /etc/passwd
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

由于 Apache 设法运行一些东西,www-data所以root应该能够做同样的事情。怎么做?

linux command-line-interface root service-accounts su
  • 1 个回答
  • 237 Views
Martin Hope
Bittrance
Asked: 2013-06-14 11:15:16 +0800 CST

“会话终止,终止外壳......被杀死”

  • 2

我有几个运行 Debian Wheezy 的 boxen。他们似乎有一个非常烦人的问题,即在已经 su:d 到 root 的 shell 中按 ctrl+c 会杀死 su,而不是 root shell 中运行的任何东西。这使得使用例如 ping 或 tcpdump 几乎不可能。据我了解,这个问题在Debian bug #628843中进行了长时间的辩论,但似乎没有达成共识。

[20:38] alias
zsu='su root -p -c $SHELL'
[20:38] zsu
Password:
zsh compinit: insecure directories and files, run compaudit for list.
Ignore insecure directories and files and continue [y] or abort compinit [n]? y
[20:38] <- I simply pressed ctrl+c
Session terminated, terminating shell...
[20:38]  ...killed.

我需要为此找到解决方法。我可以以不同的方式执行 su 还是可以使用替代品?(最好不要使用 sudo,而且我不希望允许 ssh root 登录。)

su
  • 1 个回答
  • 7895 Views
Martin Hope
matteo
Asked: 2012-06-11 14:01:10 +0800 CST

centos: su 静默失败

  • 3

在我以 root 身份通过 SSH 登录的 CentOS 服务器上,我执行以下操作:

su 其他用户名

其中“otherusername”是存在的另一个用户的用户名。

它什么都不做。在那之后,我仍然是根。whoami 返回 root,我创建的任何文件都属于 root,即 su 只是不 su。

但是它没有给出任何错误信息。如果我尝试使用无效的用户名进行 su,它会给出一条错误消息。

我错过了什么??

centos su
  • 1 个回答
  • 1345 Views
Martin Hope
Brendon Dugan
Asked: 2012-05-11 10:03:01 +0800 CST

BASH 脚本,su 到 www-data 用于单个命令

  • 38

正如我写的这篇博客文章中所述,我正在致力于自动创建颠覆存储库和相关网站。我在 su 到 www-data 用户运行以下命令的部分周围遇到了问题:

svnadmin create /svn/repository

在脚本的开头有一个检查,确保它以 root 或 sudo 身份运行,并且该命令之后的所有内容都需要以 root 身份运行。有没有一种好方法可以将那个命令作为 www-data 运行,然后切换回 root 来完成?

ubuntu svn bash su
  • 4 个回答
  • 97282 Views
Martin Hope
Cudos
Asked: 2010-02-16 10:23:29 +0800 CST

安全的 SFTP 访问 DEBIAN Lenny

  • 0

配置:Debian Lenny Apache2

我已将 SSH 配置为“ PermitRootLogin no ”,并创建了另一个用户登录并执行“ su ”。

现在我想通过 SFTP 与例如 Filezilla 连接。我可以通过创建一个只能访问“ /var/www ”的用户来做到这一点(我所有的网站都位于那里,例如“ /var/www/domain.com ”)

但这不是有点挫败使用“ su ”的想法吗?当然,在这种情况下, “ su ”会保护其他所有内容,但“ /var/www ”不会获得额外的保护。我首先创建“ su ”设置的原因是为了更好地保护我的网站。

顺便说一句,我是唯一一个将东西上传到服务器的人。

我错过了什么?

ssh sftp su
  • 3 个回答
  • 775 Views
Martin Hope
Simone Carletti
Asked: 2010-01-19 12:55:49 +0800 CST

配置 sudo 以询问 root 密码

  • 3

是否可以将 sudo 配置为询问 root 密码而不是用户密码?

服务器配置了一个 root 用户和一个具有有限权限的简单用户(我们称他为简单用户),用于部署服务器上托管的所有应用程序。因此,用户 simple 不在 sudoers 列表中

$ sudo command

不起作用,因为 simple 的密码不能授予他 root 权限。

有时我需要通过 Capistrano(一个 ruby​​ 部署工具)运行一些需要 root 访问权限的脚本,并且编写脚本以便以 root 身份登录、运行脚本然后注销非常困难。我希望能够执行以下语句

$ sudo god restart tasks-group

并让 Capistrano 提示我输入 root 密码。目前,Capistrano 会提示您输入部署用户密码,这显然是一个非管理员帐户。

password root sudo su capistrano
  • 4 个回答
  • 2086 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve