我创建了一个脚本,我希望它只能被 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.