如何在 Linux 中为多个用户运行 .Net core Avalonia 应用程序

问题描述 投票:0回答:1

我们使用以下配置文件设置构建了一个 .Net Core Avalonia 应用程序
目标框架:net7.0
部署模式:独立
目标运行时:linux-x64
文件发布选项:生成单个文件
现在我们正在尝试在 Linux 中以编程方式为多个用户运行该应用程序(版本:Ubuntu 20.04,GUI:Debian)

因此我们通过 RDP 将文件复制到 Linux 机器中

(Path : /opt/AvaloniaApp)

我们使用 chmod 命令为 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 新手

c# linux ubuntu debian avalonia
1个回答
0
投票

我猜测您想要创建一个组,将用户分配到新组,然后在组对象上设置权限,而不是由单个用户设置权限。

请参阅此示例:https://superuser.com/questions/914666/how-to-create-a-group-add-user-to-group-and-give-that-group-full-access-to -目录

但是,我建议 chmod 770,而不是 777。

770 表示所有者和组拥有完全权限,而 777 权限则授予所有人读、写和执行权限。

正如您提到的,您是 Linux 新手,您可能想尝试 Ubuntu,因为它比 Debian 更用户友好,最适合中级到高级 Linux 用户。

© www.soinside.com 2019 - 2024. All rights reserved.