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

aiqt4smr  于 2022-12-03  发布在  Linux
关注(0)|答案(1)|浏览(177)

为什么跑不了?
如果我以下面的方式运行它,它就会工作:

[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
6pp0gazn

6pp0gazn1#

感谢大家,特别感谢@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的位置很重要,因为user也应用noexec。通过将exec放在user之后,可以确保设置了exec。

相关问题