[adela@zen ~]$ dir-open /
bash: /home/adela/.toolbox/bin/dir-open: Permission denied
이상한 점은 디렉터리와 바이너리 모두 777 권한을 가지고 있고 바이너리를 실행할 수 없다는 것입니다 - 권한이 거부되었습니다.
~/.toolbox/bin 디렉토리, ls -la가 있습니다:
drwxrwxrwx 3 adela adela 4,0K 14. zář 18.34 ./
drwxr-xr-x 10 adela adela 4,0K 5. zář 19.38 ../
-rwxrwxrwx 1 adela adela 302 22. čen 16.13 checksum*
-rwxrwxrwx 1 adela adela 1,3K 18. čec 17.21 dir-open*
-rwxrwxrwx 1 adela adela 937 4. zář 21.05 nas-open*
-rwxrwxrwx 1 adela adela 300 1. úno 2021 po-to-xls*
-rwxrwxrwx 1 adela adela 565 8. zář 16.18 run*
drwxrwxrwx 2 adela adela 4,0K 5. zář 19.03 .stfolder/
-rwxrwxrwx 1 adela adela 1,8K 1. úno 2021 subtitles-renamer*
-rwxrwxrwx 1 adela adela 104 31. říj 2021 terminal*
-rwxrwxrwx 1 adela adela 300 1. úno 2021 xls-to-po*
bin 디렉터리는 $PATH에도 있습니다.
/home/adela/.toolbox/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin
스크립트 중 하나의 내용:
#!/bin/bash
# This script makes file manager open just right.
# called from ~/.toolbox/bin/dir-open
APP="pcmanfm"
DESKTOP=$(wmctrl -d | grep \* | awk '{print $1}') # number of active desktop
APPSINDESKTOP=$(wmctrl -l -x | awk -v var="$DESKTOP" '($2 == var)' | grep -ic "$APP") # windows in active desktop
WIN=$(wmctrl -l -x | awk -v var="$DESKTOP" '($2 == var)' | grep -i "$APP" | awk '{print $1}' | sed -n "1p")
window=$(printf "%d\n" $WIN)
if [[ $APPSINDESKTOP -ge 1 ]]; then
ACTIVE=$(xdotool getwindowfocus)
if [[ $ACTIVE = $window ]]; then
if [ -z "$1" ]; then
xdotool windowminimize $window # Minimize
else
$APP "$1" # New tab
fi
else
if [ -z "$1" ]; then
wmctrl -ia $WIN # Focus window
else
$APP "$1" # New tab
wmctrl -ia $WIN # Focus window
fi
fi
else
echo "no app on active desktop"
if [ -z "$1" ]; then
$APP "/mnt/DATA" -n & # add -n for pcmanfm
else
$APP "$1" -n & # add -n for pcmanfm
fi
sleep 0.3
WIN=$(wmctrl -l -x | awk -v var="$DESKTOP" '($2 == var)' | grep -i "$APP" | awk '{print $1}' | sed -n "1p")
wmctrl -i -R $WIN -e 0,$POSX,$POSY,$WIDTH,$HEIGHT # Resize existing window
# wmctrl -ia $WIN # Focus window
fi
echo -e "Debug info: \n\nDesktop: $DESKTOP \nWindow: $WIN \nAppsInDesktop: $APPSINDESKTOP\n"
exit 0
- 어떤 바이너리도 실행되지 않습니다.
- sudo로 실행해도 결과는 동일합니다.
- 아르코리눅스
- 디렉토리는 바이너리를 사용하는 데 아무런 문제가 없는 다른 컴퓨터(Arch)와도 공유됩니다.
문제가 무엇인지 아시나요?
답변1
그것을 언급할 가치가 있다SELinux, 빨리 이해하지 못하거나 알아낼 수 없는 문제에 직면할 때마다 setenforce 0
일시적으로 selinux를 허용 모드로 전환하여 그것이 문제의 원인인지 확인합니다.
하지만바이너리 파일을 실행하는 동안 권한이 거부되었습니다.내가 생각한 건실행되지 않음설치 옵션으로. 이것이 이어질지 확실하지 않지만허가가 거부되었습니다메시지를 보내거나 아무 일도 일어나지 않는 경우. mount
설치 옵션을 입력 하고 확인하세요.실행되지 않음바이너리가 있는 곳에 존재합니다. 그런 다음 noexec 설치 옵션 없이 탑재된 장치의 바이너리를 다른 폴더 위치에 복사하고 바이너리가 작동하는지 확인하세요.