ssh 连接后运行的第一个程序

ssh 连接后运行的第一个程序

我有一个用户“test”,并且我修改了 /etc/passwd 文件,以便每当“test”登录或执行 ssh 时运行我自己的某个脚本(我们称之为 somescript.sh)。

后来,我将“/etc/passwd”文件更改为在“test”登录或执行 ssh 时运行“/bin/bash”(默认运行的程序),但无论何时“test”登录/ssh,仍会运行前一个脚本(somescript.sh)而不是 bash。

不知道该找谁来纠正这个问题。请帮忙。谢谢

编辑

test:x:1001:1001:test,,,:/home/test:/home/admin/scripts/script.sh==> 之前

script.sh是一个循环接受用户输入的 shell 脚本,有一个选项“退出”,我可以通过该选项退出循环,脚本结束

test:x:1001:1001:test,,,:/home/test:/bin/bash==> 之后

答案1

根据具体somescript.sh情况,登录后执行此操作可能比使用更好的方法/etc/passwd。如果可能,您可以以测试身份登录并使用

chsh -s /bin/bash

这应该将测试的登录 shell 设置为 bash。完成此操作后,此文件中包含一些有用的信息回答关于 bash shell 启动时运行的不同脚本、它们运行的​​顺序等。一旦你知道了适当的文件,你可以添加以下行

source /path/to/somescript.sh

到该文件,它将在每次用户登录时运行。

相关内容