我正在运行一个脚本,但出现了一个不寻常的警告:这是我的控制台中发生的事情
#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