-bash: script.sh: /usr/bin/ksh: 错误的解释器: 权限被拒绝



我对ksh有一些问题。日志说我们没有访问ksh的权限。所有权限是 777,我们将符号链接到/usr/bin/

在/usr/bin 中:

lrwxrwxrwx  1 root root          8 Feb  2 10:29 ksh -> /bin/ksh

在/bin 中

lrwxrwxrwx  1 root root      21 Dec 23 11:15 ksh -> /etc/alternatives/ksh

在/etc/alternative 中

lrwxrwxrwx 1 root root 8 Feb  2 10:01 /etc/alternatives/ksh -> /usr/bin

安装过程中出了什么问题吗?

这对我来说非常关键,谢谢你的帮助!

通过您的问题:

  • 在任何Unix系统中拥有777权限都会暴露出巨大的风险,例如,攻击者只需覆盖您的可执行文件以包含键盘记录器,因此在大多数情况下应避免这种情况。使用 755 适用于大多数可执行文件。

  • 替代方案是一个非常标准的 Linux 解决方案,在这种情况下,为特定可执行文件提供多个替代方案 ksh

  • 我认为您必须通过将脚本指向/bin/ksh 或/bin/ksh93 来修复脚本

这是我系统的ksh安装供参考:

[root@ ~]# which ksh
/bin/ksh
[root@ ~]# ls -larth /bin/ksh
lrwxrwxrwx 1 root root 21 Feb  2 10:21 /bin/ksh -> /etc/alternatives/ksh
[root@ ~]# ls -alrth /etc/alternatives/ksh
lrwxrwxrwx 1 root root 10 Feb  2 10:21 /etc/alternatives/ksh -> /bin/ksh93
[root@ ~]# ls -alrth /bin/ksh93
-rwxr-xr-x 1 root root 1.5M Nov  3 14:02 /bin/ksh93

尝试在系统上安装 ksh 实用程序。
在终端中:yum install ksh ---> 对于基于红帽的系统。

最新更新