我想为所有通过 SSH 连接的用户禁用 TTY 回显。 Linux 命令stty -echo
可以解决这个问题,但是用户不必在他们的 TTY 上执行此命令,我想给他们一个默认情况下从一开始就禁用回显的 TTY。我怎样才能做到这一点?提前致谢!
答案1
一种简单的方法是将行添加stty -echo
到/etc/profile.d
文件名以.sh
.例如,一个名为/etc/profile.d/disable-tty-echo.sh
.
这是有效的,因为至少在 Ubuntu 上,每个/etc/profile.d/*.sh
文件都将由 获取,并且后一个文件将由任何 POSIX 登录 shell/etc/profile
读取并执行(与 一起)。$HOME/.profile
这记录在bash
、dash
、ksh
等的手册页中。
请注意,如果用户能够将其 shell 设置为不读取和执行的 shell /etc/profile
,例如csh
,并且您需要绝对确定将stty -echo
进行设置,那么您还需要通过编辑来限制允许的登录 shell /etc/shells
。