[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 运行时结果相同。
- 阿科 Linux
- 目录也与另一台计算机 (Arch) 共享,其中使用二进制文件没有问题。
知道什么可能是错误的吗?
值得一提的是selinux,每当我遇到一个我不能很快理解或摸不着头脑的问题时,我都会
setenforce 0
暂时将 selinux 置于许可模式,看看是否是导致问题的原因。但是在执行二进制文件时权限被拒绝,我想到的是noexec作为挂载选项。尽管我不确定这是否会导致权限被拒绝消息,或者是否会导致什么都没有发生。键入并查看noexec
mount
的挂载选项是否存在于二进制文件所在的位置。然后将二进制文件从该安装的设备复制到其他没有 noexec 安装选项的文件夹位置,然后查看二进制文件是否有效。