[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)共享,在其中使用二进制文件没有问题。
知道可能存在什么问题吗?
答案1
值得一提的是SELinux,每当我遇到一个我不能很快理解或摸不着头脑的问题时,我都会setenforce 0
暂时将 selinux 置于宽容模式,看看这是否是导致问题的原因。
但执行二进制文件时权限被拒绝我想到的是不执行作为安装选项。虽然我不确定这是否会导致没有权限消息或者它是否导致什么也没有发生。键入mount
并查看安装选项是否不执行存在于二进制文件所在的位置。然后将二进制文件从该安装的设备复制到没有 noexec 安装选项的其他文件夹位置,并查看二进制文件是否有效。