百摩网
当前位置: 首页 生活百科

netcore支持窗体吗(如何判断.NETCore)

时间:2023-06-07 作者: 小编 阅读量: 8 栏目名: 生活百科

有时候,我们需要知道当前程序是否以管理员身份运行,以便执行一些需要特殊权限的操作。Windows下的判断很好理解,用户属于Administrator角色。但是linux下的geteuid()==0是什么意思?setuid因为linux系统有一个功能:如果一个程序被设置了setuid位,那么它无论被哪个用户执行,都会具备setuid对应用户的权限,进程的EUID也会变成对应用户的UID。结论综上,github上给的解决方案非常完美,如果你要判断当前用户是否root,则需要使用getuid()==0。

有时候,我们需要知道当前程序是否以管理员身份运行,以便执行一些需要特殊权限的操作。

在github(https://github.com/dotnet/runtime/issues/25118#issuecomment-367407469)上找到了一个解决方案:

//需要引用nuget包Mono.Posix.NETStandardpublicstaticboolIsAdministrator=>RuntimeInformation.IsOSPlatform(OSPlatform.Windows)?newWindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator):Mono.Unix.Native.Syscall.geteuid()==0;

好了,问题解决,文章写完了。

等等!Windows 下的判断很好理解,用户属于 Administrator 角色。但是 linux 下的geteuid() == 0是什么意思?

euid

linux 系统中每个进程都有2个 ID,分别为用户 ID(uid)和有效用户 ID(euid)。

root的用户 ID确实是0。

Console.WriteLine($"UID:{Mono.Unix.Native.Syscall.getuid()}");Console.WriteLine($"EUID:{Mono.Unix.Native.Syscall.geteuid()}");

我又换成demo1用户试了一下,这2个Id也是一样的。

那为什么要搞2个Id呢?

setuid

因为linux系统有一个功能:如果一个程序被设置了 setuid 位,那么它无论被哪个用户执行,都会具备 setuid 对应用户的权限,进程的 EUID 也会变成对应用户的 UID。

Demo

我们来试验一下,默认情况下demo1用户无法操作1.txt,因为文件是由root用户创建的,如下图:

当我们使用root用户设置了 setuid 位后,可以发现程序的权限起了变化:

这时我们再次运行程序,发现1.txt操作成功,而且euid也变成0(root用户)了。

结论

综上,github 上给的解决方案非常完美,如果你要判断当前用户是否root,则需要使用getuid() == 0。

    推荐阅读
  • 这种菜超补钙三分钟学会如何吃(吃肉不如吃藕补钙又补铁)

    吃肉不如吃藕补钙又补铁秋季是吃莲藕的季节,今天就以莲藕为主题介绍一道辅食吧鲜藕脆嫩多汁,甜味浓郁,还好消化莲藕中的黏液蛋白和膳食纤维,含有鞣质,有一定的增进食欲、促进消化等作用藕的营养价值很高,富含铁、钙等微量元素,植物蛋。

  • 盐吃多了婴儿会怎样(盐吃多了婴儿会怎样图片)

    婴儿的肾脏功能不够完全。因此,婴儿的盐吃多了,对肾脏的损害,是最大的。相反,过量的盐分摄入,肾脏的负担会加重。婴儿吃盐量过大,会造成婴儿口腔的唾液分泌过少,导致口腔内会滋生大量的细菌,造成呼吸道的疾病。久而久之,婴儿的抵抗力就会下降,造成反复染病的体质。婴儿的生体发育与锌是分不开的。比如骨骼的发育,智力的发育,免疫力下降,身体矮小等。

  • 防晒服能洗衣机洗吗 防晒衣机洗还能防晒吗

    防晒衣的清洗和保养是有必要的,也是必须的。

  • 成都地铁可以带酒吗(成都地铁允许带酒吗)

    成都地铁可以带酒吗?成都地铁可以带酒只要不超过56度,总重不超过4斤,是可以携带的,今天小编就来聊一聊关于成都地铁可以带酒吗?接下来我们就一起去研究一下吧!成都地铁已向成都市公安局公交地铁分局提交了一份“禁止携带2斤以上白酒进站上车”的方案,未来乘坐地铁,可能只能携带2瓶以下白酒上车。

  • 朗逸方向机坏了的表现(朗逸方向机坏了的表现是什么)

    一般车辆方向盘都有转向自动回位的功能,配有液压助力方向机的汽车,由于液压阻尼的作用,自动回位的功能有所减弱,但如果是回位速度过慢的话,就说明回位功能有故障.这种故障一般都发生在转向机械部分。汽车行驶在供形路面的一侧上本身就有偏跑的倾向,当拱形较大时跑偏就较为明显是外界的因素造成的。在排除是汽车胎压问题后,就很可能是方向机的某机械部件松脱或断裂造成的。

  • 西安出境定居怎么提取公积金 西安出境定居怎么提取公积金贷款

    3、其他相关资料:①提取人无法办理银行卡关联公积金账户签约手续的,可提供公积金提取授权书资料。

  • 孕妇可不可以玩手机啊(孕妇可以玩手机吗)

    目前能确定的是电离辐射对人体的伤害较大,比如医院的CT,X光,胸透,汽车站和机场安检仪所用的X射线等,电离辐射能引起体内细胞中遗传物质DNA的损伤,这种影响可能传到下一代,导致下一代畸形,先天白血病等。

  • 出瞳距离(出瞳直径和出瞳距离)

    出瞳距离是自光学系统最后一面顶点,到出瞳平面与光轴交点的距离。另外,在实验室仪器或一般的普通仪器中,要求最少的出瞳距离约为6mm;军用光学仪器中,考虑到加眼罩和戴防毒面具,出瞳距离较长,一般为20mm左右。

  • 熬夜会秃头吗 熬夜会秃头吗男生

    免疫力下降长时间的熬夜身体会出现疲劳以及精神不佳的状况,这样就会导致机体内分泌出现紊乱,机体的新陈代谢也会失调,免疫因子的生成就会减少,从而降低机体免疫力,从而让身体长期处于精神不振、易感冒、易过敏的状态。另外熬夜的时候还会容易饿,此时容易摄入大量高热量食物,也容易引起肥胖。而肝脏又是机体解毒、合成、代谢以及生物转化中心,如果肝脏受到了损伤,全身健康也会受到一定的影响。

  • 芜湖好的学校有哪些(好学校究竟是什么样的)

    优质的学校教育,是培育人才的“金摇篮”。7月30日晚8点,“芜湖共读”第40讲《学校如何运转》如约上线,“悦读芜湖”读书会线下分享活动在南陵县毕家桥书房、镜湖区砻坊书苑、弋江区马饮书房、繁昌区峨山书舍同时举行。7月30日晚,芜湖“共读”,聚焦学校教育,芜湖干部群众与教育界人士一起,聆听领读人李南南讲解教育专家李希贵关于学校教育方面的真知灼见。