我的程序使用创建数据文件的库,存在一个问题,即某些用户会误以“以管理员身份运行”我的程序,结果是某些数据文件是由管理员所有者创建的,普通用户以后无法编辑它。我正在寻找一种“放弃”管理员特权的方式,该特权允许我的程序继续运行,例如无需用户“以管理员身份运行”?我怎样才能做到这一点?
最佳答案
要执行您要求的操作,您需要检测您是否以管理员身份运行,如果是,则创建一个受限制的 token ,然后使用该 token 重新启动程序。
获得类似结果的其他方法如下。
默认情况下,文件所有者是该组成员的管理员组。此设置可以由本地安全策略控制:
在这里查看更多:
或者,在使用
CreateFile
时,您可以在创建文件时使用SECURITY_DESCRIPTOR
来指定所有者,并将其设置为用户或其任何组。关于c++ - C++删除管理员权限,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14352820/