尽管我是有权调用脚本的用户,但调用脚本时权限被拒绝

尽管我是有权调用脚本的用户,但调用脚本时权限被拒绝

我已将“x”添加到目录中的 sh 脚本中:

$ whoami
alex

$ sudo chmod og+x ./scripts/*.sh

所以我有

$ ls -al ./scripts/
total 24
drwxr-xr-x  2 alex alex 4096 Jan 25 10:33 .
drwxr-xr-x 12 alex alex 4096 Jan 25 10:43 ..
-rw-r-xr-x  1 alex alex  228 Nov 24 09:37 aabbcc.sh
-rw-r-xr-x  1 alex alex 4455 Nov 24 16:29 deploy.sh

但是当我这样做时

$ ./scripts/deploy.sh

我会得到这个:

bash: ./scripts/deploy.sh: Permission denied

为什么没有效果?

答案1

您只向“组”和“其他”授予了可执行权限,但没有为文件所有者(即您)添加可执行权限。所以每个人都可以执行这个,除了你。因此,只需为所有者添加执行权即可:

chmod u+x ./scripts/*.sh

sudo不需要时请勿使用!

相关内容