bash sh脚本用户权限为755,无法运行



为什么不能运行?
如果我以以下方式运行它,它就可以工作了:

[usuario@MyPC ~]$ sh ./x11vnc.sh
PORT=5900

首先是权限,这样你就可以看到它在755。

ls -l
-rw-rw-rw- 1 usuario users  4485 dic  2 11:35  x11vnc.log
-rwxr-xr-x 1 usuario users   117 nov  7 14:06  x11vnc.sh
第二,脚本文件
cat x11vnc.sh
#!/bin/bash
x11vnc -nap -wait 30 -noxdamage -passwd somepass -display :0 -forever -o ~/x11vnc.log -bg -rfbport 5900

第三,我必须澄清磁盘的结构

lsblk 
NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda           8:0    0   3,6T  0 disk  
├─md126       9:126  0   3,6T  0 raid1 
│ ├─md126p1 259:3    0   3,6T  0 part  /home/usuario
│ └─md126p2 259:4    0     8G  0 part  [SWAP]
└─md127       9:127  0     0B  0 md    
sdb           8:16   0   3,6T  0 disk  
├─md126       9:126  0   3,6T  0 raid1 
│ ├─md126p1 259:3    0   3,6T  0 part  /home/usuario
│ └─md126p2 259:4    0     8G  0 part  [SWAP]
└─md127       9:127  0     0B  0 md    
nvme0n1     259:0    0 232,9G  0 disk  
├─nvme0n1p1 259:1    0 232,6G  0 part  /
└─nvme0n1p2 259:2    0   256M  0 part  /boot

我是用户usuario。我可以编辑和修改x11vnc.sh文件,但我不能运行它,我需要运行它,包括在等离子的自动启动会话。

[usuario@MyPC ~]$ ~/x11vnc.sh
-bash: /home/usuario/x11vnc.sh: permission denied

为什么不能运行?
如果我以以下方式运行它,它就可以工作了:

[usuario@MyPC ~]$ sh ./x11vnc.sh
PORT=5900

感谢大家,特别是@CharlesDuffy

我将fstab行从

更改
UUID=16b711b6-789f-4c27-9d6c-d0f744407f00 /home/usuario ext4 auto,exec,rw,user,relatime 0 2

UUID=16b711b6-789f-4c27-9d6c-d0f744407f00 /home/usuario ext4 auto,rw,user,exec,relatime 0 2

exec的位置很重要,因为用户也应用了noexec。通过在user后面加上exec,可以确保设置了exec。最重要的选项应该列在最后

最新更新