Setuid 命令似乎不起作用

Setuid 命令似乎不起作用

我在 Linux Mint 计算机上安装了 Windows 应用程序,例如,在 Demo 目录中。在 Demo 文件夹中,我有如下文件目录结构。

  -rwxrwxrwx spuser spuser aaa.dll 
  -rwxrwxrwx spuser spuser bbb.ttf 
  -rwxrwxrwx spuser spuser ccc.ref 
  -rwsrwxrwx spuser spuser DemoApp.EXE <= I've set setuid command on this file
  drwxrwxrwx spuser spuser icons
  drwxrwxrwx spuser spuser secure
  drwxrwxr-- spuser spuser lang

如果我以 spuser 权限运行 DemoApp.EXE,它会正常工作,DemoApp.EXE 可以读取 lang 目录中的文件。但是当我以普通用户权限运行 DemoApp.EXE 时,它会出现错误,提示无法读取 lang 目录中的文件,因为我将其设置为只读(如上目录结构)。我尝试在 Linux mint 中使用 WINE 运行这两个程序,或者在 Windows PC 上运行此程序,结果相同。

请给我建议,抱歉我的英语不好。

答案1

为了读取目录中的文件,必须设置目录上的可执行位“x”。

到目前为止,只有 spuser 和 spuser 组的成员可以进入该目录。

cd lang当您是不同的用户时,只需检查一下。

chmod o+rx lang 将修复它。

相关内容