对文件夹中脚本的权限表现得很奇怪

对文件夹中脚本的权限表现得很奇怪

我创建了一个脚本,我希望它只能被 root 读写。其他都只能x。我现在拥有的

[root@localhost /]# chmod 755 scripts/ -v
mode of 'scripts/' retained as 0755 (rwxr-xr-x)
[root@localhost /]# chmod 711 scripts/macchange -v
mode of 'scripts/macchange' retained as 0711 (rwx--x--x)

我认为这里一切都很好。如果我和我的用户一起去,我可以读取文件夹内容,但不能读取文件。但是当我尝试执行脚本时,这就是我得到的

[iron@localhost /]$ ./scripts/macchange 
/bin/bash: ./scripts/macchange: Permission denied

我究竟做错了什么?如果我授予我的用户阅读权限,它就会突然起作用。

解释为什么它与可能的重复不同:我没有意识到 bash 需要读取文件来执行它。我认为这是文件夹到文件权限的问题。

答案1

/bin/bash将不允许读取要执行的文件内容。

你会启用读取权限。

chmod 751 /scripts/macchange ##If you only want the user's of the same group to access the file.

相关内容