windows10
文件属性的安全选项中描述了不同用户和组对该文件拥有的权限,包括允许和拒绝 完全控制、写入、读取、读取并执行等权限。
若进程P的启动者是用户A,进程P对文件c拥有的权限是不是就是用户A对文件c拥有的权限?
是的。如果需要更多权限,确保系统安全的情况下,可以右键菜单中选择“以管理员身份执行”。
不知道你这个问题是否已经解决, 如果还没有解决的话:按下【Win+ P】可打开投影,再次按下【Win+ P】可切换选择投影的模式
回答:
如果进程P是由用户A启动的,那么进程P对文件c拥有的权限不一定是用户A对文件c拥有的权限。实际上,进程P拥有的权限由进程P所属的进程owoer或者组来决定。当进程P启动时,会继承其所属的进程owner或者组的权限。因此,如果用户A所属的组拥有对文件c的读写权限,则进程P也会继承相应的权限。但是,如果进程P所属的进程owner或者组没有相应的权限,则进程P无法对文件c进行相应的操作。如果需要让进程P拥有特定的权限,可以通过修改进程P所属的进程owner或者组来实现。具体的实现方式可以用以下代码:
//获取进程的ID号
int processID = ...;
//打开进程
HANDLE processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
if(processHandle == NULL) {
//打开进程失败,抛出异常
throw "Failed to open process!";
}
//获取进程所属的进程owner或者组
DWORD ownerOrGroupSidLength = SECURITY_MAX_SID_SIZE;
PSID ownerOrGroupSid = (PSID)GlobalAlloc(GPTR, ownerOrGroupSidLength);
if(!GetProcessInformation(processHandle, OwnerOrGroupSID,
ownerOrGroupSid, &ownerSidOrGroupLength))
{
//获取失败,抛出异常
throw "Failed to get owner or group SID!";
}
//修改进程所属的进程owner或者组权限
...