我正在我的 Windows 7 / Ubuntu 13.04 双启动机器上开发一项服务。我的服务位于 NTFS 分区上。它是用 Java 编写的,应该可以在两个平台上运行。为了清楚起见,我的 Linux 启动脚本是一个 bash 脚本。
fstab:
UUID=E24E8DDC4E8DAA3D /media/nelson/data ntfs users,defaults 0 0
/etc/init.d/mql:
lrwxrwxrwx 1 root root 80 Apr 14 14:15 /etc/init.d/mqld -> /media/nelson/data/linux/nelson/NetBeansProjects/CoreEngine/dist/etc/init.d/mqld*
但是当我启动我的服务时它显示:
sudo service mqld start
mqld: unrecognized service
sudo /etc/init.d/mqld start
sudo: unable to execute /etc/init.d/mqld: Permission denied
权限被拒绝,我能获得比 root 更高的权限吗?
编辑:关键是,可执行文件(这里是 bash 脚本)不能以 root 身份执行(权限被拒绝)。因为唯一的原因是符号链接指向 ntfs 分区上的文件。我该怎么做才能在 nfts 分区上启动服务 - 即不同的挂载选项?
答案1
最后我终于搞明白了。它实际上是一个挂载选项 (exec)。现在我的 fstab 看起来像这样,并且运行良好。
UUID=E24E8DDC4E8DAA3D /media/nelson/data ntfs users,defaults,exec 0 0