修改文件所有者和权限

Linux11-权限的介绍 rwx详解 修改权限 修改文件目录所有者 修改文件目录所在组 一个实践和两个练习 rwx介绍,文件rwx和目录rwx的区别,修改权限,修改文件所有者 阅读详情

修改文件的所有者并添加everyone完全控制权限。一定要先设置一下Owner,然后再进行权限设置,二者一起执行是不会成功的。

BOOL AdjustPrivileges(LPWSTR lpName)
{
    HANDLE hToken = NULL;
    TOKEN_PRIVILEGES tp = {0};
    TOKEN_PRIVILEGES oldtp = {0};
    DWORD dwSize = sizeof(TOKEN_PRIVILEGES);
    LUID luid = {0};
           
    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
        if (GetLastError()==ERROR_CALL_NOT_IMPLEMENTED)
            return TRUE;
        else
            return FALSE;
    }
    if (!LookupPrivilegeValueW(NULL, lpName, &luid)) {
        CloseHandle(hToken);
        return FALSE;
    }
               
    tp.PrivilegeCount=1;
    tp.Privileges[0].Luid = luid;
    tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
           
    /* Adjust Token Privileges */
    if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), &oldtp, &dwSize)) {
        CloseHandle(hToken);
        return FALSE;
    }
           
    // close handles
    CloseHandle(hToken);
    return TRUE;
}
BOOL TakeOwner(char *FilePath)
{
    CHAR                    UserName[36];
    DWORD                   cbUserName = sizeof(UserName);
    CHAR                    Sid[1024] = {0};
    DWORD                   cbSid = sizeof(Sid);
    CHAR                    DomainBuffer[128] = {0};
    DWORD                   cbDomainBuffer = sizeof(DomainBuffer);
    SID_NAME_USE            eUse;
    PACL                    Dacl = NULL,OldDacl = NULL; 
    EXPLICIT_ACCESS         Ea;
    PSECURITY_DESCRIPTOR    Sd = NULL;
    BOOL                    Ret = FALSE;
           
    if (AdjustPrivileges(SE_TAKE_OWNERSHIP_NAME) && AdjustPrivileges(SE_RESTORE_NAME))
    {
        GetUserNameA(UserName,&cbUserName);
        if (LookupAccountNameA(NULL,UserName,&Sid,&cbSid,DomainBuffer,&cbDomainBuffer,&eUse))
        {
           
            ZeroMemory(&Ea,sizeof(EXPLICIT_ACCESS));
            GetNamedSecurityInfoA(FilePath,SE_FILE_OBJECT, DACL_SECURITY_INFORMATION,NULL, NULL, &OldDacl, NULL, &Sd);  
            BuildExplicitAccessWithNameW(&Ea,L"everyone",GENERIC_ALL,GRANT_ACCESS,SUB_CONTAINERS_AND_OBJECTS_INHERIT); 
            if (SetEntriesInAclW(1,&Ea,OldDacl,&Dacl) == ERROR_SUCCESS)
            {
                SetNamedSecurityInfoA(FilePath,SE_FILE_OBJECT,OWNER_SECURITY_INFORMATION ,&Sid,NULL,NULL,NULL);
                if (SetNamedSecurityInfoA(FilePath,SE_FILE_OBJECT,OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,&Sid,NULL,Dacl,NULL) == ERROR_SUCCESS)
                {
                    Ret = TRUE;
                }
            }
           
        }
    }
    return Ret;
}


以system身份运行程序(易语言源码) 以system身份运行程序,用易语言编写,优质源码 立即下载

相关推荐

易语言设置文件所有者

易语言设置文件所有者源码系统结构:changeFileOwnership,API_GetCurrentProcess,API_GetFileSecurity,API_InitializeSecurityDescriptor,API_LookupAccountName,API_OpenProcessToken,API_SetFileSecurity,API_SetSecurityDescriptorOwner,AP

修改 Windows 文件访问权限的多种方法

由于文件是安全对象,因此访问它们受访问控制模型控制,该模型控制对 Windows 中所有其他安全对象的访问。更改文件或目录对象的安全描述符,需要调用或等函数。ACL,用来表示用户(组)权限的列表,包括 DACL和 SACL;ACE,ACL中的元素;DACL,用来表示安全对象权限的列表;SACL,用来记录对安全对象访问的日志。关于这几个概念已经有很多资料解释,这里就不详细展开了。(以下仅介绍通过Win32API修改文件安全属性的一些内容)。

溡漪幽博客 1万+

以SYSTEM身份运行程序

CreateSystemProcess,GetProcessId,OpenProcessToken,LookupPrivilegeValue,CloseHandle,CreateToolhelp32Snapshot,Process32First,Process32Next,StrCmpNI,lstrlen,OpenProcess,GetLastError,BuildExplicitAccessWithName,GetKernelObjectSecurity,HeapAlloc

C/C++语言 Windows API更改文件、文件夹或注册表权限的所有者

C/C++语言, 调用Windows API更改文件、文件夹或注册表权限的所有者 所用到的函数 GetUserName //获取当前登陆用户名 LookupAccountName //获取用户名SID SetNamedSecurityInfo //ACL相关函数 #include <stdio.h> #include <ac...

任逍遊 --- [专用空间] 2万+

VS2010“未能正确加载包”问题解决方法小汇

本文按照由简至繁的顺序详述了借助网络获知的四种解法,主要面向重装 VS2010 后遭遇题述问题的网友,相关包尤指 VSTS、RadLangSvc、Language、Bootstrap 及 MicrosoftDataEntityDesign。

虚有其表的博客 1万+

详解如何用爬虫工具批量采集阿里巴巴批发网商品数据

本文主要介绍如何使用后羿采集器的智能模式,免费采集阿里巴巴批发网商品的批发价格、发货时间、是否代发等信息。 采集字段: 商品标题、商品链接、图片链接、标签1、标签2、标签3、价格、30天成交数、 评价、店铺 功能点目录: 如何对采集字段进行配置 如何采集列表+详情页类型网页 采集结果预览: 下面我们来详细介绍一下如何免费采集1688批发网的商品数据,我们以“羽绒服女”为例,具体步骤如下: 步骤一...

weixin_43777427的博客 1万+

不能说的秘密之RtlAdjustPrivilege

前言:今天逆向一个非常实用的函数RtlAdjustPrivliege这个函数封装在NtDll.dll中(在所有DLL加载之前加载),被微软严格保密,就是说你在MSDN上查不到关于他的任何信息。先来看看这个函数的定义(Winehq给出):NTSTATUS RtlAdjustPrivilege(ULONG    Privilege,BOOLEAN Enable,BOOL

whatwhyhow的专栏 1135

利用wolcmd.exe批处理执行远程唤醒

代码如下: @echo off cls :check if exist wolcmd.exe goto targetmac echo 缺少wolcmd.exe echo. goto end :targetmac cls echo -------------------------------------------------------- echo 目标主机PC-01地址:40235678A...

Chriseo的博客 6941

为文件添加everyone权限

SECURITY_DESCRIPTOR sd = {0}; if (InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION)) { if (SetSecurityDescriptorDacl(&sd, TRUE, NULL, FALSE)) { SetFileSecurityW(File, DACL_SECURITY_

yu_sn0w的博客 2153

带挂牵引车倒车运动模型推导及仿真实现

半挂牵引车在倒车时,由于鞍座主销的连接限制,其运动方式与乘用车有显著差异。例如,乘用车在右侧倒车入库时,只需确定泊车起点并将方向盘向右打死。相反,牵引车在倒车时需要先向左转方向盘,当铰接角达到防折叠的临界值时,再将方向盘向右转回,以调整牵引车与挂车至直线状态,完成泊车入库。本研究旨在建立一个基于牵引车带挂车倒车运动学模型,该模型基于以下假设: 道路在车辆行驶过程中保持平坦,无凹凸不平; 车辆以低速行驶,且在运行过程中车身不发生侧倾或俯仰; 行驶过程中,轮胎无变形,无侧向滑动,且不产

jianmo的博客 2696

ShardingSphere-JDBC-若依框架集成(SpringBoot)

ShardingSphere基础知识、ShardingSphere-JDBC如何集成进若依框架中 使用的是若依框架前后端版本、动态数据源,可自行切换,默认数据源为达梦8代理端,

编程小菜鸟的笔记 8167

c++权限控制

c语言可以在xxx.h中定义函数,然后在xxx.cpp中实现函数;在需要用到这些函数时,只要用#include引入xxx.h即可,这样就不用将所有代码全部写在一个cpp中;将函数定义与实现分离,代码会有更好的可读性但不是必须的;xxx.h 头文件中int x;int y;int z;xxx.cpp1、xxx.h 只是一个文件,可以是任何的后缀名,如果你愿意,可以叫xxx.exe2、#include 的作用只是把里面的内容复制过来 仅此而已.

qq_51600802的博客 368

linux redis7 完整的集群搭建过程

一。安装: 1.1 说明: Redis官方只提供了源码,并没有提供经过编译之后的安装包。 因此,安装Redis,要先编译、后安装。(即源码安装方式) 注意:需要联网安装 1.2 安装编译的工具: yum install gcc gcc-c++ -y 1.3 下载tar包,上传到linux服务器,解压配置环境变量 1.4 cd +解压的目录下:编译 make 注意:如果编译失败,请重新进行解压编译,...

m0_38028438的博客 718

Linux修改目录文件所有者和权限

Linux赋予文件权限的目的是为了对用户进行权限控制 一,文件属性 0:指明文件类型。(其中d表示目录, -表示普通文件) 1:权限。(rwx分别表示可读可写可执行,-表示无权限) 2:表示目录中的文件数目或文件的硬链接数。 3:文件的主人。 4:文件的组群。 5:文件容量。 6:文件最后修改时间。 7:文件名称。 二,修改目录文件的所属用户组chgrp 1.chgrp 改变文件所属用户组 chgrp -R 新用户组A 文件B 把文件

m0_73513624的博客 3747

2023年美高赛HiMCM:A题蒲公英 思路

蒲公英,通常称为蒲公英,是一种原产于欧亚大陆的植物,现在在世界各地都可以找到[1]。这种植物很容易通过其亮黄色的花朵(图1)和独特的“马勃”种子头(图2)来识别。该头部的每颗种子都附着在一个类似降落伞的结构上,称为“冠毛”,有利于风的传播[2]。如果处于“马勃”阶段的单个蒲公英毗邻一块开阔的一公顷土地,请创建一个数学模型来预测蒲公英在 1、2、3、6 和 12个月内的传播情况。确保您的模型考虑了各种气候条件(例如温带、干旱和热带气候)对蒲公英生长的影响。2. 蒲 公英、人类和其他植物之间的关系很复杂。

斌擎科技 7399

【LIN总线测试】——LIN主节点数据链路层测试

LIN总线是基于UART/SCI(通用异步收发器/串行接口)的低成本串行通讯协议。其目标定位于车身网络模块节点间的低端通信,主要用于智能传感器和执行器的串行通信,而这正是CAN总线的带宽和功能所不要求的部分。本章节主要介绍LIN主节点数据链路层如何测试?

测试领域技术分享 2610

Linux修改文件权限及所有者和所属组

注意,在 chown 命令中,所有者和所属组中间也可以使用点(.),但会产生一个问题,如果用户在设定账号时加入了小数点(例如 zhangsan.temp),就会造成系统误判。chown 命令,可以认为是 “change owner” 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。[root@localhost ~]# chown [-R] 所有者:所属组 文件或目录。-R(注意大写)选项表示连同子目录中的所有文件,都更改所有者。

weixin_41367158的博客 3873

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

chmod 赋权所有_chmod修改文件的权限/chown修改文件和目录的所有者

ll指令的显示的信息为(当前目录下只有nameservice1一个目录):drwxr-xr-x 3 hdfs hdfs 4096 4月 14 16:19 nameservice1上述信息分别表示:权限(drwxr-xr-x 3)、所属用户(hdfs)和组(hdfs)、大小(4096)、时间(4月 14 16:19)、名称(nameservice1)。权限中的字母一共有10位数:其中,第1位有两种...

weixin_36064196的博客 1110

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

linux文件权限类(修改文件权限、修改文件所有者和所属组)

文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。 从左到右的10个字符表示,如图所示: 如果没有权限,就会出现减号[ - ]而已。从左至右用0-9这些数字来表示:...

欢迎来到明月&清风的博客! 2405

Linux——权限管理之权限介绍、权限修改、文件/目录所有者和所在组的修改

权限管理一、权限的基本介绍1、0-9位的说明2、其它位说明(以第一行为例)二、rwx权限详解1、rwx作用到文件2、rwx作用到目录三、修改权限1、通过+、-、=变更权限2、通过数字变更权限四、修改文件/目录所有者五、修改文件/目录所在组 一、权限的基本介绍 使用ls -l将显示下述内容: 1、0-9位的说明 第0位:确定文件类型(d, -, l, c, b) l是链接,相当于windows的快捷方式 d是目录,相当于windows的文件夹 c是字符设备文件,鼠标,键盘 b是块设备,比如硬盘 -是普通文

smile4548656的博客 1036

linux文件夹改不了权限吗,linux修改文件和文件夹权限及所有者

类别:CentOS / 日期:2019-10-10 / 浏览:377 / 评论:0修改权限命令:chmod[-R]xyz文件/目录(xyz是数值或字符)修改文件/目录所有者命令:chown [-R]用户名 文件/目录修改文件/目录所属组命令:用chgrp[-R]用户名 文件/目录-R表示递归目录下所有文件-------------------------------------------...

weixin_39636411的博客 1689

Linux中如何去修改文件/目录的rwx权限、所有者和所属组

如下:u(user)表示的是这个用户的所有者,g(group)表示的是这个用户的所属组,o(other)表示的是其他用户。ls -l 查看文件的权限 //可以缩写成ll也是可以的。ls -dl 查看目录的权限。

gezi6666的博客 4909

linux修改文件的权限和修改文件所有者和所属组

文件设定法:chmod [who] [+][-][=] [mode] who   文件所有者:u   文件所属组:g   其他:o   所有人:a + 添加权限 - 减少权限 = 覆盖原来权限 权限: r:读 w:写 x:运行 权限数字表示法: -:没有权限 r:4 w:2 x:1 eg:765 7--》文件所有者 ...

weixin_33831196的博客 1744

Linux文件所有者、用户组和其他人的概念理解以及修改权限的操作

1 操作者的身份介绍 1.1 文件所有者(owner)   文件属于谁, 即用户。 1.2 用户组(group)       用户的集合。 体现共享的特性。   1.3 其他人(others)   不属于用户组的集合。注意,root也属于其他人,但是root用户可以访问用户组的内容。   2 常用的修改权限的方式介绍 2.1 linux下文件或目录的权限编码图         ...

Gorden的博客 5554

Windows下使用命令修改文件权限和所有者

使用命令修改文件权限和所有者

skyyx2002的博客 1万+

Ubuntu文件系统解析和文件属性以及如何修改文件权限和所有者

Ubuntu 中的目录遵循 FHS 标准(Filesystem Hierarchy Standard,文件系统层次标 准)。它定义了文件系统中目录、文件分类存放的原则、定义了系统运行所需的最小文件、目 录的集合,并列举了不遵循这些原则的例外情况及其原因。FHS 并不是一个强制的标准,但是 大多的 Linux、Unix 发行版本遵循 FHS。解析:1./bin与/sbin目录用于存放APP(应用程序)。2./usr不是用户的意思,而是“unix软件资源”,存放“不是软件启动的必要资源”。

L1834056458的博客 3919
上一篇: CryptAPI RSA加密解密
下一篇: SSL握手过程
萧柚
博客等级 码龄15年 7粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值