Назад | Перейти на главную страницу

разрешение отклонено в запущенном скрипте

Я запускаю скрипт, но появляется необычное предупреждение: вот что произошло в моей консоли

#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

любая идея? Спасибо

Я предполагаю, что это связано с SELINUX. Вы можете проверить статус, просто набрав sestatus

Я запускаю сценарий в каталоге / 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/