正在运行的脚本中权限被拒绝

正在运行的脚本中权限被拒绝

我正在运行一个脚本,但出现了一个不寻常的警告:这是我的控制台中发生的事情

#whoami
root
#ls -l test.sh
-rwxr-xr-x. 1 root root 1894 Feb  2 01:58 test.sh*
#./test.sh
-bash: ./test.sh: Permission denied

编辑:我的脚本:

#!/bin/bash
while read pass port user ip file; do
  echo "startt------------------------------------" $ip
  ping $ip -c 4
  if [ $? -eq 0 ]; then
    echo $ip ok...
  else
    echo $ip failed...
  fi
  echo "finish------------------------------------" $ip
done <<____HERE
pass  22  root  1.1.1.1  test.txt
____HERE

有什么想法吗?谢谢

答案1

我在 /tmp 目录中运行该脚本,您会看到 ls 的结果是:

-rwxr-xr-x. 1 root root 1894 Feb  2 01:58 test.sh*

权限之后显示.SELinux 安全上下文适用于该文件。所以我将 test.sh 复制到了其他目录中...

问题解决了

我所在的目录不适合存放可执行文件

ls -l /
drwxrwxrwt.   8 root root  1024 Feb  2 07:44 tmp/

这些可能也有效:

setenforce 0 | reboot

或者

echo 0 > /selinux/enforce | reboot

或者:

putting SELINUX=disabled in /etc/selinux/config and reboot (making sure to comment out anything in that file enabling selinux)

SELINUX 状态: sestatus

相关内容