我正在 Linux 服务器 (oraclelinux) 上进行一些系统维护。我已以 root 身份登录 (sudo su)。
我有一个具有以下权限的脚本:“-rwxr-xr-x”。该脚本位于 /tmp/scripts 中,其权限为 drwxr-xr-x 该脚本的所有者为 root:root
当我尝试时:
./myscript.sh
我得到:
bash 权限被拒绝
为什么我不能执行自己的脚本?文件权限末尾的句点“。”是什么意思?
答案1
一个常见的安全提示是使用标志挂载/tmp
目录noexec
以防止脚本运行。
尝试命令
mount | grep tmp
看看它告诉你什么。我的告诉我
/dev/mapper/vg00-TmpVol on /tmp type ext4 (rw,
禁止执行,nosuid,nodev)
答案2
这不是答案,而是格式化的评论。
从ls
信息页面:
GNU ‘ls’ uses a ‘.’ character to indicate a file with a security context, but no other alternate access method.
您可以尝试bash -x ./myscript.sh
查看是否是其他原因导致了该错误。