如何使用户在登录后运行交互式脚本然后注销?

问题描述

我有一个小的elif脚本,有4个选项。我将需要使一个用户有权在登录时运行该脚本,并在该脚本完成后将其注销。

我正在尝试通过/ etc / passwd这样做: 用户:x:1003:1003 :: / home / user:script.sh

当已经与root连接,然后对用户“ su”时,它将执行脚本。 问题是用户无法连接油灰槽并执行脚本,这是我要尝试的目标。

任何建议都值得欢迎和赞赏。

干杯

解决方法

尝试在script.sh中提供到passwd的完整路径。即使您su给用户时此文件位于$ PATH中,也不一定在SSH会话中位于$ PATH中。 SSH会话可能还会提供在其他方面有所不同的环境。

,

使用adduser尝试普通用户,然后在其家中编辑两个文件...

# .profile
logout

...和...

# .bash_logout
clear

当该用户登录(使用ssh / PuTTY)时,.profile将其注销,.bash_logout也将被执行。因此,您可以决定在登录或注销时执行两次操作。