我有一个场景,我需要将我的应用程序部署为在后台运行的具有管理员权限的服务。 该应用程序是使用 C# .Net 创建的 启动服务的例子:
sudo systemctl start example.service
但我需要获取使用 linux 操作系统(例如 ubuntu)的当前活动帐户的用户名。我需要用户名,因为我需要构建用户文档路径,例如:
/home/username/Documents
在那里存储一些文件。它需要位于用户文档路径中,因为会有另一个没有管理员权限的应用程序主动修改那里的文件,所以我不能将文件放在 /usr/share 中,因为它在这里需要管理员权限。
我在终端中尝试了一些命令,例如here 或
sudo echo $USER
但他们都没有给我想要的。作为后台服务运行时,它要么给我 root 要么为空,而不是当前帐户的用户名
“last”和“who”等其他命令为我提供了当前登录用户名的列表,但它没有告诉我当前哪个用户正在控制显示/用户界面。
最坏的情况是我需要在 /usr/share/my_own_folder 中更改我自己的文件夹以允许任何人读/写该文件夹中的任何内容 还有其他选择吗?谢谢你。