openKylin论坛

 找回密码

求助:银河麒麟社区服务版可执行文件执行问题 [复制链接]

  我在vmware上安装了银河麒麟社区服务版(Kylin-4.0.2-server-sp1-Community-20170412-x86_64.iso),发现执行shell脚本时,都会报权限不足的错误,必须在可执行文件前添加sh 才行。   例如我写了个test.sh用于查看maven的版本号,test.sh的内容为 echo `mvn -v`,用root用户编写后执行chmod a+x test.sh赋权,在PATH中添加当前路径 export PATH=.PATH,生效后执行./test.sh报错,执行sh ./test.sh后,test.sh可执行,但里面的mvn -v命令报错,报错皆为:permission denied。见图:


一直不知为何如此。
不止shell,同样的curl、perl、python脚本也如此,包括c文件通过gcc编译出来的可执行文件也无法执行,皆报相同的错误。
请各位解惑,谢谢。
楼主
发表于 2018-5-30 09:41:44
回复

使用道具 举报

求助:银河麒麟社区服务版可执行文件执行问题 [复制链接]

问题已解决。
原因如下:
      我在安装时计划将所有文件存放在单独分区,所以划分了个基本分区/dev/sda3挂载到/data上,银河麒麟系统默认的文件系统选项为:rw,user,x-gvfs-show,nosuid,nofail,将/etc/fstab中/data的选项user选项去除即可。
       为什么去掉user即可,因为这个选项自动包含了noexec选项,noexec选项表示此文件系统上不允许执行二进制。网上搜到的ubuntu有关/etc/fstab中options的解释如下:
       user - Permit any user to mount the filesystem. This automatically implies noexec, nosuid,nodev unless overridden.
      exec / noexec - Permit/Prevent the execution of binaries from the filesystem.
这个纠结了我几天的问题已解决,但不知银河麒麟系统为啥默认要给所有用户添加mount权限啊,应该只留root的mount权限才对,实际上,很多企业应用场景应该是会划分独立的数据分区的,那会不会导致所有的数据分区都有这类问题呢。
      
     
推荐
 楼主| 发表于 2018-5-30 11:09:36
回复

使用道具 举报

求助:银河麒麟社区服务版可执行文件执行问题 [复制链接]

楼主,我也遇到了这个问题。但是我看了我的fstab,fstab是正常的。但是仍然会报 permission denied 的问题。而且,除了系统自带的命令,其他的都会报这个错误。
板凳
发表于 2020-2-13 16:00:46
回复

使用道具 举报

求助:银河麒麟社区服务版可执行文件执行问题 [复制链接]

znmswf 发表于 2018-5-30 11:09
**** 作者被禁止或删除 内容自动屏蔽 ****

帮了大忙了,这个问题找了好久也没找到解决方法。
地板
发表于 2020-4-21 09:19:32
回复

使用道具 举报

求助:银河麒麟社区服务版可执行文件执行问题 [复制链接]

znmswf 发表于 2018-5-30 11:09
**** 作者被禁止或删除 内容自动屏蔽 ****

我这边的麒麟系统也遇到了同样的问题,查看了层主说的这个文件,没有这个配置,问题还没有解决,Help。
5#
发表于 2021-4-1 19:04:43
回复

使用道具 举报

openKylin

GMT+8, 2024-4-28 21:31 , Processed in 0.032860 second(s), 23 queries , Gzip On.

Copyright ©2022 openKylin. All Rights Reserved .

ICP No. 15002470-12 Tianjin

快速回复 返回顶部 返回列表