我们使用以下配置文件设置构建了一个 .Net Core Avalonia 应用程序
目标框架:net7.0
部署模式:独立
目标运行时:linux-x64
文件发布选项:生成单个文件
现在我们正在尝试在 Linux 中以编程方式为多个用户运行该应用程序(版本:Ubuntu 20.04,GUI:Debian)
因此我们通过 RDP 将文件复制到 Linux 机器中
(Path : /opt/AvaloniaApp)
sudo chmod -R u+rwx AvaloniaApp
但它只提供root用户的访问权限。因此,我们使用 chown 命令为特定用户提供了访问权限
sudo chown -R :user1 AvaloniaApp
sudo chown -R :user2 AvaloniaApp
user2 能够使用
从 AvaloniaApp 文件夹运行应用程序./myappfile
但是由于权限问题,user1 无法运行该应用程序
bash: ./myappfile: Permission denied
,但我也已经拥有了 user1 的访问权限。
`-rwx------ 1 user2 user1 23516 Nov 28 12:30 myappfile.pdb
-rwx------ 1 user2 user1 99222415 Nov 28 12:30 myappfile
-rwx------ 1 user2 user1 24940 Nov 28 12:30 myappfile.pdb
-rwx------ 1 user2 user1 1607016 Nov 28 12:30 myappfile.so
-rwx------ 1 user2 user1 9478432 Nov 28 12:30 libSkiaSharp.so`
那么如何让多个用户运行该应用程序呢?任何人都知道可能出了什么问题以及如何修复它,我们是 Linux 新手
我猜测您想要创建一个组,将用户分配到新组,然后在组对象上设置权限,而不是由单个用户设置权限。
但是,我建议 chmod 770,而不是 777。
770 表示所有者和组拥有完全权限,而 777 权限则授予所有人读、写和执行权限。
正如您提到的,您是 Linux 新手,您可能想尝试 Ubuntu,因为它比 Debian 更用户友好,最适合中级到高级 Linux 用户。