如何防止在我的登录 shell 中执行 /etc/profile 的一部分?

如何防止在我的登录 shell 中执行 /etc/profile 的一部分?

假设我有一个/etc/profile

# good stuff here
# ...

/usr/local/bin/obnoxious_ascii_art

我可以做些什么来阻止登录时执行最后一行吗?假设我不一定有 root 访问权限。

答案1

如果我无法阻止它,我至少可以在事后隐藏输出.bash_profile

clear

或者,如果我知道它有多少行:

for l in {1..26}; do
  tput cuu1 # move up a line
done
tput ed # clear to end of screen

答案2


您可以将个人资料复制到您的家中,然后根据需要进行编辑,这应该可以工作

ssh -t user@host '. ~/profile ; bash'

-t Force pseudo-tty allocation

答案3

这取决于“obnoxious_ascii_art”的含义。

如果这是管理员的恶作剧,您应该简单地与具有 root 访问权限的人谈谈。在这种情况下,这是一个社会问题,你应该通过社会手段来解决它,而不是通过技术。

如果它确实有作用,但你不喜欢它,首先试着问问自己为什么它会在那里。也许与安全有关?在这种情况下——我很遗憾地说,但让它运行吧——当机器崩溃时,没有人会责怪你。

如果它出了问题(但管理员出于任何原因拒绝修复它),或者您只是好奇,那么 Mark Plotnick 的评论是我能想到的最佳解决方案。

我知道这不是您期望的答案,但是通过技术暴力解决问题并不总是最好的方法。

相关内容