仅更改Linux中一个线程的UID / GID
发布时间:2020-12-30 22:00:58 所属栏目:Linux 来源:互联网
导读:有没有办法在多线程进程中只更改一个线程的UID / GID? 这样做的原因是编写一个文件服务应用程序 – 除非调用者的uid / gid设置为正确的用户,否则不会强制执行ACL和配额,新的文件/目录不会使用正确的uid / gid等创建. 网络应用程序通常可以在开头fork()并在单
|
有没有办法在多线程进程中只更改一个线程的UID / GID? 这样做的原因是编写一个文件服务应用程序 – 除非调用者的uid / gid设置为正确的用户,否则不会强制执行ACL和配额,新的文件/目录不会使用正确的uid / gid等创建. 网络应用程序通常可以在开头fork()并在单独的进程中处理每个用户请求.如果需要共享数据,则必须通过某种共享内存.但是,例如默认情况下,FUSE(linux用户文件系统)使用多线程并与python绑定结合使用,尝试使用分叉模型是不切实际的. 整个过程的“一致”UID似乎是根据POSIX标准,但是老Linux并没有遵循POSIX并允许不同的uid用于不同的线程.新内核似乎遵循POSIX,是否有某种方法允许旧的“破坏”行为? 解决方法您是否检查过setfsuid()/ setfsgid()是按线程还是按进程?它们专为此用例(文件服务器)而设计.(编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- linux – DBus.ObjectManager.GetManagedObjects中缺少LEAd
- linux-device-driver – add_disk()在insmod上挂起
- linux – 为什么dlsym()返回的符号的值为null?
- linux – 如何在unix上找到没有日志文件的死进程的原因?
- 使用gold vs ld链接器时使用的glibc/pthreads中的不同符号
- ARM系统模式与arm管理员模式有何不同?
- linux – 创建没有mount的虚拟软盘映像?
- 在同一个Linux目录中有几百个或几千个文件可以(性能方面)吗
- linux – MongoDB安装错误:“mongod:加载共享库时出错:l
- 系统调用程序在linux上实际发生了什么?
